From 62a23236ba1579d40d1791b294cda8947c1b2873 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 17 Nov 2014 18:14:37 +0100 Subject: [PATCH] prefer project from current context over first opened project --- .../intellij/openapi/project/ProjectUtil.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/platform/lang-api/src/com/intellij/openapi/project/ProjectUtil.java b/platform/lang-api/src/com/intellij/openapi/project/ProjectUtil.java index cc01782b7541..0dac0d7d3b0c 100644 --- a/platform/lang-api/src/com/intellij/openapi/project/ProjectUtil.java +++ b/platform/lang-api/src/com/intellij/openapi/project/ProjectUtil.java @@ -115,16 +115,21 @@ public class ProjectUtil { } @NotNull - public static Project guessCurrentProject(JComponent component) { + public static Project guessCurrentProject(@Nullable JComponent component) { Project project = null; - Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); - if (openProjects.length > 0) project = openProjects[0]; - if (project == null) { - DataContext dataContext = component == null ? DataManager.getInstance().getDataContext() : DataManager.getInstance().getDataContext(component); - project = CommonDataKeys.PROJECT.getData(dataContext); + if (component != null) { + project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(component)); } if (project == null) { - project = ProjectManager.getInstance().getDefaultProject(); + Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); + if (openProjects.length > 0) project = openProjects[0]; + if (project == null) { + DataContext dataContext = DataManager.getInstance().getDataContext(); + project = CommonDataKeys.PROJECT.getData(dataContext); + } + if (project == null) { + project = ProjectManager.getInstance().getDefaultProject(); + } } return project; }