| Summary: | Codan checkers run even when disabled | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Sergey Prigogin <eclipse.sprigogin> |
| Component: | cdt-codan | Assignee: | Project Inbox <cdt-core-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | Elena Laskavaia <elaskavaia.cdt> |
| Severity: | major | ||
| Priority: | P3 | CC: | cdtdoug |
| Version: | 8.0 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
Fixed in HEAD > 20110513. The problem was caused by lack of initialization of org.eclipse.cdt.codan.core.PreferenceConstants.P_USE_PARENT preference that is supposed to be true by default. This caused project-level preferences to take over workspace preferences so that a change made to workspace preferences had no effect. I still don't understand why defaults for Codan preferences defined in org.eclipse.cdt.codan.core are initialized in org.eclipse.cdt.codan.ui. This seems pretty dangerous since the preferences can potentially be accessed from org.eclipse.cdt.codan.core before being initialized. *** cdt cvs genie on behalf of sprigogin *** Bug 345793 - Codan checkers run even when disabled. [*] FieldEditorOverlayPage.java 1.11 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/internal/ui/preferences/FieldEditorOverlayPage.java?root=Tools_Project&r1=1.10&r2=1.11 [*] PreferenceInitializer.java 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/internal/ui/preferences/PreferenceInitializer.java?root=Tools_Project&r1=1.7&r2=1.8 [*] CheckersRegistry.java 1.15 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CheckersRegistry.java?root=Tools_Project&r1=1.14&r2=1.15 |
To reproduce disable "Suspicious semicolon" checker and create the following code: void test() { if (true) ; } A warning marker is created for the semicolon is spite of the checker being disabled.