Преглед изворни кода

Merge pull request #1946 from afshin/terminal-bugfixes

Restoration bugfixes
Steven Silvester пре 8 година
родитељ
комит
02f671c35a
2 измењених фајлова са 13 додато и 13 уклоњено
  1. 2 2
      packages/application/src/shell.ts
  2. 11 11
      packages/terminal-extension/src/index.ts

+ 2 - 2
packages/application/src/shell.ts

@@ -113,7 +113,7 @@ class ApplicationShell extends Widget {
     this._tracker.activeChanged.connect(this._onActiveChanged, this);
 
     // Connect main layout change listener.
-    this._dockPanel.layoutModified.connect(() => this._save, this);
+    this._dockPanel.layoutModified.connect(this._save, this);
   }
 
   /**
@@ -345,7 +345,7 @@ class ApplicationShell extends Widget {
     }
     this._database = database;
     this._database.fetch().then(saved => {
-      if (this.isDisposed && !saved) {
+      if (this.isDisposed || !saved) {
         return;
       }
 

+ 11 - 11
packages/terminal-extension/src/index.ts

@@ -107,19 +107,19 @@ function activate(app: JupyterLab, services: IServiceManager, mainMenu: IMainMen
       let term = new TerminalWidget();
       term.title.closable = true;
       term.title.icon = TERMINAL_ICON_CLASS;
-      tracker.add(term);
+      term.title.label = '...';
       shell.addToMainArea(term);
-      tracker.activate(term);
 
-      if (name) {
-        services.terminals.connectTo(name).then(session => {
-          term.session = session;
-        });
-      } else {
-        services.terminals.startNew().then(session => {
-          term.session = session;
-        });
-      }
+      let promise = name ?
+        services.terminals.connectTo(name)
+          .catch(() => services.terminals.startNew())
+        : services.terminals.startNew();
+
+      return promise.then(session => {
+        term.session = session;
+        tracker.add(term);
+        tracker.activate(term);
+      }).catch(() => { term.dispose(); });
     }
   });