do not load file templates from disabled plugins (IDEA-52545)
authoranna <anna.kozlova@jetbrains.com>
Wed, 3 Mar 2010 18:25:40 +0000 (21:25 +0300)
committeranna <anna.kozlova@jetbrains.com>
Fri, 5 Mar 2010 11:07:34 +0000 (14:07 +0300)
platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java

index f4e7052467ca8a2286dbffc54923b46d412320d7..b049280f7fcdad22e3a1159b197b46c0d3f4117f 100644 (file)
@@ -20,6 +20,7 @@ import com.intellij.ide.IdeBundle;
 import com.intellij.ide.fileTemplates.FileTemplate;
 import com.intellij.ide.fileTemplates.FileTemplateManager;
 import com.intellij.ide.fileTemplates.InternalTemplateBean;
+import com.intellij.ide.plugins.IdeaPluginDescriptorImpl;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.application.ApplicationNamesInfo;
 import com.intellij.openapi.application.PathManager;
@@ -794,7 +795,9 @@ public class FileTemplateManagerImpl extends FileTemplateManager implements Expo
       appendDefaultTemplatesDirFromClassloader(FileTemplateManagerImpl.class.getClassLoader(), dirList);
       PluginDescriptor[] plugins = ApplicationManager.getApplication().getPlugins();
       for (PluginDescriptor plugin : plugins) {
-        appendDefaultTemplatesDirFromClassloader(plugin.getPluginClassLoader(), dirList);
+        if (plugin instanceof IdeaPluginDescriptorImpl && ((IdeaPluginDescriptorImpl)plugin).isEnabled()) {
+          appendDefaultTemplatesDirFromClassloader(plugin.getPluginClassLoader(), dirList);
+        }
       }
 
       ourTopDirs = VfsUtil.toVirtualFileArray(dirList);