2011-07-22 Brian Cameron <[email protected]> gnome-2-30
authoryippi
Fri, 22 Jul 2011 22:03:41 +0000
branchgnome-2-30
changeset 22013 4dfaaed236cc
parent 22004 6bcf3e85c764
child 22014 4be0dc4e470e
2011-07-22 Brian Cameron <[email protected]> * base-specs/ConsoleKit.spec, patches/ConsoleKit-13-vt-switch.diff: Add patch to fix VT switching CR #7032861 that would cause GDM to stop managing the console display on switch. * patches/ConsoleKit-06-sol-xserver.diff: Add -novtswitch to Xserver command.
ChangeLog
base-specs/ConsoleKit.spec
patches/ConsoleKit-06-sol-xserver.diff
patches/ConsoleKit-13-vt-switch.diff
--- a/ChangeLog	Wed Jul 20 06:07:28 2011 +0000
+++ b/ChangeLog	Fri Jul 22 22:03:41 2011 +0000
@@ -1,7 +1,15 @@
+2011-07-22  Brian Cameron  <[email protected]>
+
+	* base-specs/ConsoleKit.spec, patches/ConsoleKit-13-vt-switch.diff:
+	  Add patch to fix VT switching CR #7032861 that would cause GDM to
+	  stop managing the console display on switch.
+	* patches/ConsoleKit-06-sol-xserver.diff: Add -novtswitch to Xserver
+	  command.
+
 2011-07-20  Yong Sun <[email protected]>
 
 	* specs/SUNWzz-gnome-l10n.spec: added desktop/time-slider l10n contents
-	in gnome/locale/* packages.
+	  in gnome/locale/* packages.
 
 2011-07-19  Laszlo (Laca) Peter  <[email protected]>
 
@@ -10,7 +18,7 @@
 2011-07-19  Stephen Browne  <[email protected]>
 
 	* specs/SUNWtgnome-tsoljdsselmgr.spec: add au_emod_t arg for au_close
-	build fix due to au IF change.
+	  build fix due to au IF change.
 	* patches/tsoljdsselmgr-02-au_close.diff: new patch
 
 2011-07-19  Jerry Guo <[email protected]>
@@ -54,7 +62,6 @@
 2011-07-14  Yong Sun <[email protected]>
 
 	updated UI message translations for drop 4.0 based on b169.
-
 	* po-sun/ekiga/po-sun/*.po
 	* po-sun/gnome-media/po-sun/*.po
 	* po-sun/gthumb/po-sun/*.po
@@ -179,7 +186,6 @@
 2011-07-08  Yong Sun <[email protected]>
 
 	Fixes branding issue in localized help files.
-
 	* base-specs/gnome-panel.spec
 	* base-specs/gnome-utils.spec
 	* base-specs/gedit.spec
@@ -241,7 +247,7 @@
 2011-07-05  Li Yuan  <[email protected]>
 
 	* patches/vino-04-preference.diff:
-	Update patch to fix CR7060698.
+	  Update patch to fix CR7060698.
 
 2011-07-03  Laszlo (Laca) Peter  <[email protected]>
 
--- a/base-specs/ConsoleKit.spec	Wed Jul 20 06:07:28 2011 +0000
+++ b/base-specs/ConsoleKit.spec	Fri Jul 22 22:03:41 2011 +0000
@@ -44,6 +44,9 @@
 Patch11:      ConsoleKit-11-sol-vtdaemon.diff
 # date:2010-02-23 owner:yippi type:bug bugster:7003908
 Patch12:      ConsoleKit-12-suppress-warning.diff
+# This relates to GDM upstream bugzilla bug #618047.
+# date:2010-07-20 owner:yippi type:bug bugster:7032861
+Patch13:      ConsoleKit-13-vt-switch.diff
 
 BuildRequires:  PolicyKit-devel >= 0.7
 BuildRequires:  autoconf >= 2.60
@@ -118,6 +121,7 @@
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
+%patch13 -p1
 
 %build
 CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
@@ -218,6 +222,8 @@
 %{_libdir}/libck-connector.a
 
 %changelog
+* Fre Jul 22 2011 - [email protected]
+- Add patch ConsoleKit-13-vt-switch.diff to fix CR #7032861.
 * Fri Apr 29 2011 - [email protected]
 - Merge patch 14 into patch 1.
 * Wed Feb 23 2011 - [email protected]
--- a/patches/ConsoleKit-06-sol-xserver.diff	Wed Jul 20 06:07:28 2011 +0000
+++ b/patches/ConsoleKit-06-sol-xserver.diff	Fri Jul 22 22:03:41 2011 +0000
@@ -7,4 +7,4 @@
  
  [X11]
 -Exec=@X11_DIR@/Xorg $display -br -verbose -auth $auth -nolisten tcp $vt
-+Exec=@X11_DIR@/Xserver $display -br -auth $auth $vt
++Exec=@X11_DIR@/Xserver $display -br -novtswitch -auth $auth $vt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ConsoleKit-13-vt-switch.diff	Fri Jul 22 22:03:41 2011 +0000
@@ -0,0 +1,51 @@
+--- ConsoleKit-0.4.1/src/ck-seat.c-orig	2011-07-20 05:16:51.376808748 -0500
++++ ConsoleKit-0.4.1/src/ck-seat.c	2011-07-20 08:37:34.776746117 -0500
+@@ -1036,6 +1036,10 @@ ck_seat_remove_session (CkSeat         *
+         CkSession *orig_session;
+         gboolean   res;
+         gboolean   ret;
++        GHashTableIter iter;
++        gpointer       key, value;
++        gboolean       found_login = FALSE;
++        char          *session_type = NULL;
+ 
+         g_return_val_if_fail (CK_IS_SEAT (seat), FALSE);
+ 
+@@ -1075,7 +1079,36 @@ ck_seat_remove_session (CkSeat         *
+         g_signal_emit (seat, signals [SESSION_REMOVED], 0, ssid);
+ 
+         /* try to change the active session */
+-        maybe_update_active_session (seat);
++
++        /* On session exit, first try to switch to any active login sessions */
++        g_hash_table_iter_init (&iter, seat->priv->sessions);
++        while (g_hash_table_iter_next (&iter, &key, &value)) {
++                CkSession *login_session = value;
++
++                ck_session_get_session_type (login_session, &session_type, NULL);
++                if (IS_STR_SET (session_type) &&
++                    g_str_equal (session_type, "LoginWindow")) {
++                        GError    *vt_error = NULL;
++                        char      *device;
++                        guint         num;
++
++                        g_debug ("Changing active session to LoginWindow");
++                        found_login = TRUE;
++                        device = NULL;
++                        ck_session_get_x11_display_device (login_session, &device, NULL);
++                        g_debug ("Changing active session to LoginWindow for device %s", device);
++                        ret = ck_get_console_num_from_device (device, &num);
++                        if (ret) {      
++                                g_debug ("setting active to %d", num);
++                                ck_vt_monitor_set_active (seat->priv->vt_monitor, num, &vt_error);
++                        }
++                        g_free (session_type);
++                }
++        }
++
++        /* Otherwise, look for an active session */
++        if (found_login == FALSE)
++                maybe_update_active_session (seat);
+ 
+         if (orig_session != NULL) {
+                 g_object_unref (orig_session);