From a9fb95aef301291f2132fab2ae2e41f6e66ae940 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Tue, 29 Oct 2013 22:32:40 +0400 Subject: [PATCH] NPE fix --- .../ide/actions/ShowSettingsUtilImpl.java | 15 ++++++++------- .../options/ex/ProjectConfigurablesGroup.java | 3 ++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java index fabd1a3eb99f..06317a6952b7 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java @@ -80,7 +80,7 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil { Project actualProject = project != null ? project : ProjectManager.getInstance().getDefaultProject(); Configurable config = findByClass(new IdeConfigurablesGroup().getConfigurables(), configurableClass); - if (config == null) { + if (config == null && project != null) { config = findByClass(new ProjectConfigurablesGroup(project).getConfigurables(), configurableClass); } @@ -103,23 +103,24 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil { public void showSettingsDialog(@Nullable final Project project, @NotNull final String nameToSelect) { ConfigurableGroup[] group; if (project == null) { - group = new ConfigurableGroup[] {new IdeConfigurablesGroup()}; - } else { - group = new ConfigurableGroup[] {new ProjectConfigurablesGroup(project), new IdeConfigurablesGroup()}; + group = new ConfigurableGroup[]{new IdeConfigurablesGroup()}; + } + else { + group = new ConfigurableGroup[]{new ProjectConfigurablesGroup(project), new IdeConfigurablesGroup()}; } - Project actualProject = project != null ? project : ProjectManager.getInstance().getDefaultProject(); + Project actualProject = project != null ? project : ProjectManager.getInstance().getDefaultProject(); group = filterEmptyGroups(group); OptionsEditorDialog dialog; if (Registry.is("ide.perProjectModality")) { dialog = new OptionsEditorDialog(actualProject, group, nameToSelect, true); - } else { + } + else { dialog = new OptionsEditorDialog(actualProject, group, nameToSelect); } dialog.show(); - } public static void showSettingsDialog(@Nullable Project project, final String id2Select, final String filter) { diff --git a/platform/platform-impl/src/com/intellij/openapi/options/ex/ProjectConfigurablesGroup.java b/platform/platform-impl/src/com/intellij/openapi/options/ex/ProjectConfigurablesGroup.java index 563b5471cc29..0109161e7d85 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/ex/ProjectConfigurablesGroup.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/ex/ProjectConfigurablesGroup.java @@ -19,6 +19,7 @@ import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurableGroup; import com.intellij.openapi.options.OptionsBundle; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.NotNull; /** * @author max @@ -26,7 +27,7 @@ import com.intellij.openapi.project.Project; public class ProjectConfigurablesGroup extends ConfigurablesGroupBase implements ConfigurableGroup { private final Project myProject; - public ProjectConfigurablesGroup(Project project) { + public ProjectConfigurablesGroup(@NotNull Project project) { super(project, Configurable.PROJECT_CONFIGURABLE, true); myProject = project; }