From 9fc2f47d6d416ad9216033739fdc2c54d621a7cc Mon Sep 17 00:00:00 2001 From: Liana Bakradze Date: Fri, 24 Jul 2015 15:50:31 +0300 Subject: [PATCH] EDU-377 NPE in pure python project --- .../edu/learning/actions/StudyRenameTaskFileAction.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRenameTaskFileAction.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRenameTaskFileAction.java index 6f1ca90a9a3f..9ece19124cc2 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRenameTaskFileAction.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRenameTaskFileAction.java @@ -2,7 +2,9 @@ package com.jetbrains.edu.learning.actions; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import com.intellij.refactoring.actions.RenameElementAction; import com.jetbrains.edu.learning.StudyUtils; import org.jetbrains.annotations.NotNull; @@ -15,8 +17,11 @@ public class StudyRenameTaskFileAction extends RenameElementAction { } private static boolean isTaskFile(PsiElement element) { - return element != null && StudyUtils.getTaskFile(element.getProject(), - element.getContainingFile().getVirtualFile()) != null; + if (element == null || element instanceof PsiDirectory) { + return false; + } + PsiFile file = element.getContainingFile(); + return file != null && StudyUtils.getTaskFile(element.getProject(), file.getVirtualFile()) != null; } @Override