Your message dated Sun, 24 Mar 2013 21:26:50 +0000
with message-id <1364160410.24071.37.ca...@jacala.jungle.funky-badger.org>
and subject line Re: Bug#699817: unblock: 
gnome-settings-daemon/3.4.2+git20121218.7c1322-3
has caused the Debian Bug report #699817,
regarding unblock: gnome-settings-daemon/3.4.2+git20121218.7c1322-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
699817: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699817
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package gnome-settings-daemon for a GDM-related bug fix.

gnome-settings-daemon (3.4.2+git20121218.7c1322-3) unstable; urgency=low

  * 06_a11y_gdm_leak.patch: backported from git master. Reset keyboard
    accessibility settings when shutting down the settings daemon. This 
    avoids leaking them from the GDM session to the user’s.
    Closes: #682581.
    + 06_a11y_macro.patch: a bit of refactoring that the previous patch 
      depends on.

unblock gnome-settings-daemon/3.4.2+git20121218.7c1322-3

Thanks,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'
  `-
>From ae36405207ba5ef0a0c7ea6b154e80d8be3e675c Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Mon, 28 Jan 2013 16:59:21 +0000
Subject: a11y-keyboard: Disable everything on exit if no settings changed

The default setting in GDM is to have the keys enablable
through keyboard shortcuts, and this gets inherited by the
user sessions.

The problem is that non-GNOME users won't have anything
changing those defaults back to their expected values
(so that Slow Keys don't triggered for example), and this
causes problems:
https://bugzilla.redhat.com/show_bug.cgi?id=816764

If the user doesn't change anything to the defaults in the GDM
session, we revert to the pre-"GNOME session" values.

https://bugzilla.gnome.org/show_bug.cgi?id=685063
---
Index: gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
===================================================================
--- gnome-settings-daemon-3.4.2+git20121218.7c1322.orig/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	2013-02-05 16:38:44.911939950 +0100
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	2013-02-05 16:38:44.903939914 +0100
@@ -63,6 +63,8 @@ struct GsdA11yKeyboardManagerPrivate
         GtkWidget        *preferences_dialog;
         GtkStatusIcon    *status_icon;
 
+        XkbDescRec       *desc;
+
         GSettings        *settings;
 
         NotifyNotification *notification;
@@ -950,6 +952,9 @@ start_a11y_keyboard_idle_cb (GsdA11yKeyb
 
         set_devicepresence_handler (manager);
 
+        /* Get the original configuration from the server */
+        manager->priv->desc = get_xkb_desc_rec (manager);
+
         event_mask = XkbControlsNotifyMask;
         event_mask |= XkbAccessXNotifyMask; /* make default when AXN_AXKWarning works */
 
@@ -995,6 +1000,26 @@ gsd_a11y_keyboard_manager_stop (GsdA11yK
 
         g_debug ("Stopping a11y_keyboard manager");
 
+        if (p->desc != NULL) {
+                XkbDescRec *desc;
+
+                desc = get_xkb_desc_rec (manager);
+                if (desc != NULL) {
+                        if (p->desc->ctrls->enabled_ctrls != desc->ctrls->enabled_ctrls) {
+                                gdk_error_trap_push ();
+                                XkbSetControls (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+                                                DEFAULT_XKB_SET_CONTROLS_MASK,
+                                                p->desc);
+
+                                XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
+                                gdk_error_trap_pop_ignored ();
+                        }
+                        XkbFreeKeyboard (desc, XkbAllComponentsMask, True);
+                }
+                XkbFreeKeyboard (p->desc, XkbAllComponentsMask, True);
+                p->desc = NULL;
+        }
+
         if (p->start_idle_id != 0) {
                 g_source_remove (p->start_idle_id);
                 p->start_idle_id = 0;
>From 0bc81bad702d314cfc975ab4df58817a45a6dd05 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Mon, 28 Jan 2013 16:58:50 +0000
Subject: a11y-keyboard: Use macro for everything mask

Less to copy/paste
---
diff --git a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
index 7acd274..33e4665 100644
--- a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
+++ b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
@@ -62,6 +62,17 @@ struct GsdA11yKeyboardManagerPrivate
         NotifyNotification *notification;
 };
 
+#define DEFAULT_XKB_SET_CONTROLS_MASK           XkbSlowKeysMask         | \
+                                                XkbBounceKeysMask       | \
+                                                XkbStickyKeysMask       | \
+                                                XkbMouseKeysMask        | \
+                                                XkbMouseKeysAccelMask   | \
+                                                XkbAccessXKeysMask      | \
+                                                XkbAccessXTimeoutMask   | \
+                                                XkbAccessXFeedbackMask  | \
+                                                XkbControlsEnabledMask
+
+
 static void     gsd_a11y_keyboard_manager_class_init  (GsdA11yKeyboardManagerClass *klass);
 static void     gsd_a11y_keyboard_manager_init        (GsdA11yKeyboardManager      *a11y_keyboard_manager);
 static void     gsd_a11y_keyboard_manager_finalize    (GObject             *object);
@@ -306,15 +317,7 @@ set_server_from_gsettings (GsdA11yKeyboardManager *manager)
 
         gdk_error_trap_push ();
         XkbSetControls (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
-                        XkbSlowKeysMask         |
-                        XkbBounceKeysMask       |
-                        XkbStickyKeysMask       |
-                        XkbMouseKeysMask        |
-                        XkbMouseKeysAccelMask   |
-                        XkbAccessXKeysMask      |
-                        XkbAccessXTimeoutMask   |
-                        XkbAccessXFeedbackMask  |
-                        XkbControlsEnabledMask,
+                        DEFAULT_XKB_SET_CONTROLS_MASK,
                         desc);
 
         XkbFreeKeyboard (desc, XkbAllComponentsMask, True);
--
cgit v0.9.0.2

--- End Message ---
--- Begin Message ---
On Tue, 2013-02-05 at 16:47 +0100, Josselin Mouette wrote:
> gnome-settings-daemon (3.4.2+git20121218.7c1322-3) unstable; urgency=low
> 
>   * 06_a11y_gdm_leak.patch: backported from git master. Reset keyboard
>     accessibility settings when shutting down the settings daemon. This 
>     avoids leaking them from the GDM session to the user’s.
>     Closes: #682581.
>     + 06_a11y_macro.patch: a bit of refactoring that the previous patch 
>       depends on.

Unblocked; thanks.

Regards,

Adam

--- End Message ---

Reply via email to