gnome-settings-daemon r663 - in trunk: . plugins/keybindings
- From: jensg svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-settings-daemon r663 - in trunk: . plugins/keybindings
- Date: Thu, 15 Jan 2009 18:46:36 +0000 (UTC)
Author: jensg
Date: Thu Jan 15 18:46:36 2009
New Revision: 663
URL: http://svn.gnome.org/viewvc/gnome-settings-daemon?rev=663&view=rev
Log:
2009-01-15 Jens Granseuer <jensgr gmx net>
* plugins/keybindings/gsd-keybindings-manager.c:
(binding_unregister_keys), (gsd_keybindings_manager_stop): also ungrab
keys when this module is disabled
Modified:
trunk/ChangeLog
trunk/plugins/keybindings/gsd-keybindings-manager.c
Modified: trunk/plugins/keybindings/gsd-keybindings-manager.c
==============================================================================
--- trunk/plugins/keybindings/gsd-keybindings-manager.c (original)
+++ trunk/plugins/keybindings/gsd-keybindings-manager.c Thu Jan 15 18:46:36 2009
@@ -289,6 +289,28 @@
}
static void
+binding_unregister_keys (GsdKeybindingsManager *manager)
+{
+ GSList *li;
+ gboolean need_flush = FALSE;
+
+ gdk_error_trap_push ();
+
+ for (li = manager->priv->binding_list; li != NULL; li = li->next) {
+ Binding *binding = (Binding *) li->data;
+
+ if (binding->key.keycodes) {
+ need_flush = TRUE;
+ grab_key_unsafe (&binding->key, FALSE, manager->priv->screens);
+ }
+ }
+
+ if (need_flush)
+ gdk_flush ();
+ gdk_error_trap_pop ();
+}
+
+static void
binding_register_keys (GsdKeybindingsManager *manager)
{
GSList *li;
@@ -596,6 +618,9 @@
(GdkFilterFunc) keybindings_filter,
manager);
}
+
+ binding_unregister_keys (manager);
+
g_slist_free (p->screens);
p->screens = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]