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.
--- 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);