[gnome-shell] gnome-shell-jhbuild.in: Fix restore_gnome.



commit 297eab738f4cdae5b66c8e43bab0a9d51a46c66c
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Jul 13 13:08:43 2011 -0400

    gnome-shell-jhbuild.in: Fix restore_gnome.
    
    The gconf keys used to restore GNOME aren't in a proper GNOME3 environment.
    To mimic what GNOME3 gnome-session does would be extremely complicated, so
    just launch the system gnome-shell.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=654527

 src/gnome-shell-jhbuild.in |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/src/gnome-shell-jhbuild.in b/src/gnome-shell-jhbuild.in
index 924e9b3..a346f91 100755
--- a/src/gnome-shell-jhbuild.in
+++ b/src/gnome-shell-jhbuild.in
@@ -532,7 +532,7 @@ def restore_gnome():
         component = client.get_string(gconf_path)
 
         if component == None or component == "":
-            return
+            return False
 
         # See gnome-session/gsm-util.c:gsm_util_find_desktop_file_for_app_name()
         # The one difference is that we don't search the autostart directories,
@@ -549,9 +549,15 @@ def restore_gnome():
 
         if appinfo:
             appinfo.launch()
+            return True
+        return False
+
+    # GNOME2 fallback
+    wm    = launch_component("/desktop/gnome/session/required_components/windowmanager")
+    panel = launch_component("/desktop/gnome/session/required_components/panel")
 
-    launch_component("/desktop/gnome/session/required_components/windowmanager")
-    launch_component("/desktop/gnome/session/required_components/panel")
+    if not wm and not panel: # Probably GNOME3
+        subprocess.Popen(['gnome-shell'])
 
 # Main program
 



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