[gnome-shell] Revert "Defer initializing UI until after the global session has loaded"



commit 1dceae97c6cb1e14548773eec7944775f84719ce
Author: Ray Strode <rstrode redhat com>
Date:   Wed Mar 6 17:25:28 2013 -0500

    Revert "Defer initializing UI until after the global session has loaded"
    
    This reverts commit 0bef925b5146794220a552f3422b0c0616466425.
    
    Just for now.  Jasper has plans to clean up start up eventually.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=694321

 js/ui/main.js        |   20 +++++++++-----------
 js/ui/sessionMode.js |    9 ++++++---
 2 files changed, 15 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index 936d74e..015b4b6 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -98,21 +98,19 @@ function start() {
 
     Gio.DesktopAppInfo.set_desktop_env('GNOME');
 
-    shellDBusService = new ShellDBus.GnomeShell();
-    shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
-
     sessionMode = new SessionMode.SessionMode();
-    sessionMode.connect('sessions-loaded', _sessionsLoaded);
-    sessionMode.init();
-}
 
-function _sessionsLoaded() {
-    sessionMode.connect('updated', _sessionUpdated);
-    _initializeUI();
-    _sessionUpdated();
+    // start session after we know what mode we're running in
+    let signalId = sessionMode.connect('updated', function() {
+                                           sessionMode.disconnect(signalId);
+                                           startSession();
+                                       });
 }
 
-function _initializeUI() {
+function startSession() {
+    shellDBusService = new ShellDBus.GnomeShell();
+    shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
+
     // Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
     // also initialize ShellAppSystem first.  ShellAppSystem
     // needs to load all the .desktop files, and ShellWindowTracker
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
index 7d6b2e4..e926ba2 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -158,7 +158,12 @@ function listModes() {
 const SessionMode = new Lang.Class({
     Name: 'SessionMode',
 
-    init: function() {
+    _init: function() {
+        global.connect('notify::session-mode', Lang.bind(this, this._sync));
+        this._modes = _modes;
+        this._modeStack = [DEFAULT_MODE];
+        this._sync();
+
         _getModes(Lang.bind(this, function(modes) {
             this._modes = modes;
             let primary = modes[global.session_mode] &&
@@ -166,8 +171,6 @@ const SessionMode = new Lang.Class({
             let mode = primary ? global.session_mode : 'user';
             this._modeStack = [mode];
             this._sync();
-
-            this.emit('sessions-loaded');
         }));
     },
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]