From ba7097379a8ed398680970d040743d1e4aa2eef8 Mon Sep 17 00:00:00 2001 From: Valentina Kiryushkina Date: Wed, 7 Jun 2017 18:28:44 +0300 Subject: [PATCH] EDU-971 Fix NPE: do not try to get task text if we're not in tool window mode --- .../edu/learning/ui/StudyToolWindow.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/python/educational-core/src/com/jetbrains/edu/learning/ui/StudyToolWindow.java b/python/educational-core/src/com/jetbrains/edu/learning/ui/StudyToolWindow.java index 9a2358a625a9..3d1f8063b64c 100644 --- a/python/educational-core/src/com/jetbrains/edu/learning/ui/StudyToolWindow.java +++ b/python/educational-core/src/com/jetbrains/edu/learning/ui/StudyToolWindow.java @@ -75,9 +75,6 @@ public abstract class StudyToolWindow extends SimpleToolWindowPanel implements D } public void init(@NotNull final Project project, final boolean isToolwindow) { - String taskText = StudyUtils.getTaskText(project); - if (taskText == null) return; - final DefaultActionGroup group = getActionGroup(project); setActionToolbar(group); @@ -109,11 +106,17 @@ public abstract class StudyToolWindow extends SimpleToolWindowPanel implements D TaskFile file = StudyUtils.getSelectedTaskFile(project); if (file != null) { VirtualFile taskDir = file.getTask().getTaskDir(project); - setTaskText(taskText, taskDir, project); + String taskText = StudyUtils.getTaskText(project); + if (taskText != null) { + setTaskText(taskText, taskDir, project); + } } } else { - setTaskText(taskText, null, project); + String taskText = StudyUtils.getTaskText(project); + if (taskText != null) { + setTaskText(taskText, null, project); + } } } } @@ -185,7 +188,7 @@ public abstract class StudyToolWindow extends SimpleToolWindowPanel implements D return group; } - public void setTaskText(String text, VirtualFile taskDirectory, Project project) { + public void setTaskText(@NotNull String text, @Nullable VirtualFile taskDirectory, @NotNull Project project) { if (!EMPTY_TASK_TEXT.equals(text) && StudyTaskManager.getInstance(project).isTurnEditingMode()) { if (taskDirectory == null) { LOG.info("Failed to enter editing mode for StudyToolWindow");