r36198 - in /desktop/unstable/gnome-settings-daemon/debian: changelog gnome-settings-daemon.gsettings-override patches/11_numlock_loop.patch patches/series
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Fri Oct 26 17:04:58 UTC 2012
Author: joss
Date: Fri Oct 26 17:04:58 2012
New Revision: 36198
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=36198
Log:
* 11_numlock_loop.patch: patch from Andrew Potter to fix infinite loop
triggered by switching the numlock status.
* gnome-settings-daemon.gsettings-override: dropped, NumLock saving is
back to work now.
Added:
desktop/unstable/gnome-settings-daemon/debian/patches/11_numlock_loop.patch
Removed:
desktop/unstable/gnome-settings-daemon/debian/gnome-settings-daemon.gsettings-override
Modified:
desktop/unstable/gnome-settings-daemon/debian/changelog
desktop/unstable/gnome-settings-daemon/debian/patches/series
Modified: desktop/unstable/gnome-settings-daemon/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/changelog?rev=36198&op=diff
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-settings-daemon/debian/changelog [utf-8] Fri Oct 26 17:04:58 2012
@@ -1,12 +1,16 @@
-gnome-settings-daemon (3.4.2+git20120925.a4c817-2) UNRELEASED; urgency=low
+gnome-settings-daemon (3.4.2+git20120925.a4c817-2) unstable; urgency=low
* Pull upstream fixes for the print-notifications plugin:
+ 01_print_proxy.patch: don’t create an unused GDBusProxy.
+ 02_print_init.patch: delay CUPS initialization.
+ 03_print_async.patch: test asynchronously whether the CUPS server
actually works. Closes: #687978.
-
- -- Josselin Mouette <joss at debian.org> Fri, 26 Oct 2012 18:48:37 +0200
+ * 11_numlock_loop.patch: patch from Andrew Potter to fix infinite loop
+ triggered by switching the numlock status.
+ * gnome-settings-daemon.gsettings-override: dropped, NumLock saving is
+ back to work now.
+
+ -- Josselin Mouette <joss at debian.org> Fri, 26 Oct 2012 19:04:37 +0200
gnome-settings-daemon (3.4.2+git20120925.a4c817-1) unstable; urgency=low
Added: desktop/unstable/gnome-settings-daemon/debian/patches/11_numlock_loop.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/patches/11_numlock_loop.patch?rev=36198&op=file
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/patches/11_numlock_loop.patch (added)
+++ desktop/unstable/gnome-settings-daemon/debian/patches/11_numlock_loop.patch [utf-8] Fri Oct 26 17:04:58 2012
@@ -1,0 +1,82 @@
+commit 82c7fcf7fd4fe43e73ea5ce6408c79d35ec3dfb8
+Author: Andrew Potter <agpotter at gmail.com>
+Date: Wed Oct 24 13:52:09 2012 -0700
+
+ keyboard: Prevent potential infinite loop
+
+ Ensure we don't set the numlock setting in response to our own
+ numlock-setting event.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=679151
+
+diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c
+index a33460c..1519510 100644
+--- a/plugins/keyboard/gsd-keyboard-manager.c
++++ b/plugins/keyboard/gsd-keyboard-manager.c
+@@ -73,6 +73,7 @@ struct GsdKeyboardManagerPrivate
+ gboolean have_xkb;
+ gint xkb_event_base;
+ GsdNumLockState old_state;
++ gulong numlock_serial;
+ };
+
+ static void gsd_keyboard_manager_class_init (GsdKeyboardManagerClass *klass);
+@@ -128,13 +129,15 @@ numlock_NumLock_modifier_mask (void)
+ }
+
+ static void
+-numlock_set_xkb_state (GsdNumLockState new_state)
++numlock_set_xkb_state (GsdKeyboardManager *manager)
+ {
+ unsigned int num_mask;
+ Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++ GsdNumLockState new_state = manager->priv->old_state;
+ if (new_state != GSD_NUM_LOCK_STATE_ON && new_state != GSD_NUM_LOCK_STATE_OFF)
+ return;
+ num_mask = numlock_NumLock_modifier_mask ();
++ manager->priv->numlock_serial = NextRequest(dpy);
+ XkbLockModifiers (dpy, XkbUseCoreKbd, num_mask, new_state == GSD_NUM_LOCK_STATE_ON ? num_mask : 0);
+ }
+
+@@ -156,16 +159,18 @@ numlock_xkb_callback (GdkXEvent *xev_,
+ if (xkbev->state.changed & XkbModifierLockMask) {
+ unsigned num_mask = numlock_NumLock_modifier_mask ();
+ unsigned locked_mods = xkbev->state.locked_mods;
++ unsigned long serial = xkbev->state.serial;
+ GsdNumLockState numlock_state;
+
+ numlock_state = (num_mask & locked_mods) ? GSD_NUM_LOCK_STATE_ON : GSD_NUM_LOCK_STATE_OFF;
+
+- if (numlock_state != manager->priv->old_state) {
+- g_settings_set_enum (manager->priv->settings,
+- KEY_NUMLOCK_STATE,
+- numlock_state);
+- manager->priv->old_state = numlock_state;
+- }
++ if (numlock_state != manager->priv->old_state
++ && serial > manager->priv->numlock_serial) {
++ g_settings_set_enum (manager->priv->settings,
++ KEY_NUMLOCK_STATE,
++ numlock_state);
++ manager->priv->old_state = numlock_state;
++ }
+ }
+
+ return GDK_FILTER_CONTINUE;
+@@ -254,7 +259,7 @@ apply_settings (GSettings *settings,
+ manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
+
+ if (manager->priv->have_xkb && rnumlock)
+- numlock_set_xkb_state (manager->priv->old_state);
++ numlock_set_xkb_state (manager);
+
+ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
+ gdk_error_trap_pop_ignored ();
+@@ -359,6 +364,7 @@ static void
+ gsd_keyboard_manager_init (GsdKeyboardManager *manager)
+ {
+ manager->priv = GSD_KEYBOARD_MANAGER_GET_PRIVATE (manager);
++ manager->priv->numlock_serial = G_MAXULONG;
+ }
+
+ static void
Modified: desktop/unstable/gnome-settings-daemon/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/patches/series?rev=36198&op=diff
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-settings-daemon/debian/patches/series [utf-8] Fri Oct 26 17:04:58 2012
@@ -3,6 +3,7 @@
03_print_async.patch
04_superP.patch
10_smaller_syndaemon_timeout.patch
+11_numlock_loop.patch
power-check-null-devices.patch
power-ignore-bad-dbus-requests.patch
revert_git_datetime_dropping.patch
More information about the pkg-gnome-commits
mailing list