mirror of
https://github.com/eclipse-cdt/cdt
synced 2024-10-28 12:09:40 +01:00
Bug 424160: null checks for CodanPreferencesLoader.getProjectNode
CodanPreferencesLoader.getProjectNode will sometimes return null. This patch adds null checks before using the result. Change-Id: If4dd70e6673d5da62cc0b8e899fb5066bdaa4bef Signed-off-by: Andrew Eidsness <eclipse@jfront.com> Reviewed-on: https://git.eclipse.org/r/19873 Tested-by: Hudson CI Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com> IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com> Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
This commit is contained in:
parent
4cfdc239bc
commit
2136875477
2 changed files with 12 additions and 10 deletions
|
@ -11,13 +11,6 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.cdt.codan.internal.core;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.cdt.codan.core.CodanCorePlugin;
|
||||
import org.eclipse.cdt.codan.core.PreferenceConstants;
|
||||
import org.eclipse.cdt.codan.core.model.AbstractCheckerWithProblemPreferences;
|
||||
|
@ -47,6 +40,13 @@ import org.eclipse.core.runtime.preferences.DefaultScope;
|
|||
import org.eclipse.core.runtime.preferences.InstanceScope;
|
||||
import org.osgi.service.prefs.Preferences;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Implementation of checker registry interface
|
||||
*/
|
||||
|
@ -368,8 +368,8 @@ public class CheckersRegistry implements Iterable<IChecker>, ICheckersRegistry {
|
|||
// Load default values
|
||||
CodanPreferencesLoader loader = new CodanPreferencesLoader(prof);
|
||||
Preferences projectNode = CodanPreferencesLoader.getProjectNode((IProject) element);
|
||||
boolean useWorkspace = projectNode.getBoolean(PreferenceConstants.P_USE_PARENT, true);
|
||||
if (!useWorkspace) {
|
||||
if (projectNode != null &&
|
||||
!projectNode.getBoolean(PreferenceConstants.P_USE_PARENT, true)) {
|
||||
loader.load(projectNode);
|
||||
}
|
||||
profiles.put(element, prof);
|
||||
|
|
|
@ -49,7 +49,9 @@ public class ProfileChangeListener implements INodeChangeListener, IPreferenceCh
|
|||
IProject[] projects = root.getRoot().getProjects();
|
||||
for (int i = 0; i < projects.length; i++) {
|
||||
IProject project = projects[i];
|
||||
CodanPreferencesLoader.getProjectNode(project).addPreferenceChangeListener(new ProfileChangeListener(project));
|
||||
IEclipsePreferences prefs = CodanPreferencesLoader.getProjectNode(project);
|
||||
if (prefs != null)
|
||||
prefs.addPreferenceChangeListener(new ProfileChangeListener(project));
|
||||
}
|
||||
// cannot do on plugin startup
|
||||
// CheckersRegistry.getInstance().getWorkspaceProfile().addProfileChangeListener(this);
|
||||
|
|
Loading…
Reference in a new issue