Community
Participate
Working Groups
Using "Restore Defaults" in Folder properties does not restore initial state not having custom properties as opposed to File settings. Consider this case: 1. Set custom Build Settings for a folder in Folder properties, such as add new Include Paths. Refresh the folder in Project Explorer for a good measure. Custom settings overlay is shown. 2. In Folder properties, do "Restore Defaults" and OK it. Still, custom settings overlay is shown even after refresh. "Restore Defaults" in File properties clears the overlay.
* *** This bug has been marked as a duplicate of bug 250096 ***
I mark the other one as dup as this description is slightly more accurate. The overlay is shown properly as the folder indeed (incorrectly) gets custom settings. If you change the settings of parent folder they are not reflected in the Folder properties anymore.
*** Bug 250096 has been marked as a duplicate of this bug. ***
Corrected one related old error in CProjectDescriptionManager on HEAD but that is not enough to fix the problem.
One clarification - the bug is appears for managed project only. Makefile project is adorned as expected in Project Explorer. Additionally, folders not under source folder are not being adorned at all in managed project.
Created attachment 159136 [details] Test case
Created attachment 159137 [details] patch CProjectDescriptionManager is supposed to cancel out resource descriptions which match the parent descriptions exactly. However root folder resource description delivers settings for more (all) tools versus an ordinary folder providing settings for filtered tools only. I haven't found a good way to extract all the information I would like from MBS to be available in cdt.core (CProjectDescriptionManager.removeNonCustomSettings()) in order to be 100% correct - but I hope this patch is sufficient, and at least an improvement. It passes the test anyway. The change is that in case of root parent folder only language data of the child (from filtered tools) are being compared instead of looking for exact match in removeNonCustomSettings().
The patches committed to HEAD (7.0)