Fix terminal startup error by adding a missing project service
authorDmitry Trofimov <dmitry.trofimov@jetbrains.com>
Fri, 21 Oct 2016 16:05:39 +0000 (18:05 +0200)
committerDmitry Trofimov <dmitry.trofimov@jetbrains.com>
Fri, 21 Oct 2016 16:05:39 +0000 (18:05 +0200)
plugins/terminal/resources/META-INF/terminal.xml
plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalOptionsConfigurable.java
plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider.java

index 0906025d480921d166147de22d7b0d30b93be49b..165952ce6e924dde3a33c91ab502b06bf280b6b1 100644 (file)
@@ -10,6 +10,7 @@
     <fileEditorProvider implementation="org.jetbrains.plugins.terminal.vfs.TerminalSessionEditorProvider"/>
 
     <applicationService serviceImplementation="org.jetbrains.plugins.terminal.TerminalOptionsProvider"/>
+    <projectService serviceImplementation="org.jetbrains.plugins.terminal.TerminalProjectOptionsProvider"/>
   </extensions>
 
   <project-components>
index f699ce8166cf4d5c9325bf9a5a90cc85dcb2f80b..db7846fa7c60f7022eceffeda0f1845a3ccd0ae8 100644 (file)
@@ -61,7 +61,6 @@ public class TerminalOptionsConfigurable implements SearchableConfigurable, Conf
   @Override
   public JComponent createComponent() {
     myPanel = new TerminalSettingsPanel();
-    if (myProjectOptionsProvider == null) return new JPanel();
     return myPanel.createPanel(myOptionsProvider, myProjectOptionsProvider);
   }
 
index 6b944362026999b1f40d10d44690433d8a419ba0..349b99ee2b7c1d628287db98dff2255c1ed1e6d6 100644 (file)
@@ -33,7 +33,7 @@ import java.io.File;
  * @author traff
  */
 @State(
-  name = "TerminalOptionsProvider",
+  name = "TerminalProjectOptionsProvider",
   storages = @Storage("terminal.xml")
 )
 public class TerminalProjectOptionsProvider implements PersistentStateComponent<TerminalProjectOptionsProvider.State> {
@@ -42,7 +42,7 @@ public class TerminalProjectOptionsProvider implements PersistentStateComponent<
   private State myState = new State();
   private final Project myProject;
 
-  public TerminalProjectOptionsProvider(Project project) {myProject = project;}
+  public TerminalProjectOptionsProvider(@NotNull  Project project) {myProject = project;}
 
 
   public static TerminalProjectOptionsProvider getInstance(@NotNull Project project) {