1
0
gnome-control-center/gnome-control-center-shortcut-assignment-fixes.patch

69 lines
2.3 KiB
Diff

From 8560cf39a214d973e24667fcc82a192fd18251c4 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 16 Jul 2012 16:03:36 +0000
Subject: shell: Fix not being able to assign Ctrl+Q to a shortcut
Because the shell window was capturing it before the key editing
cell had a change to get to it.
s/g_signal_connect/g_signal_connect_after/
https://bugzilla.gnome.org/show_bug.cgi?id=671448
---
diff --git a/shell/gnome-control-center.c b/shell/gnome-control-center.c
index b1c66b3..d046033 100644
--- a/shell/gnome-control-center.c
+++ b/shell/gnome-control-center.c
@@ -1115,8 +1115,8 @@ gnome_control_center_init (GnomeControlCenter *self)
/* connect various signals */
priv->window = W (priv->builder, "main-window");
g_signal_connect_swapped (priv->window, "delete-event", G_CALLBACK (g_object_unref), self);
- g_signal_connect (priv->window, "key_press_event",
- G_CALLBACK (window_key_press_event), self);
+ g_signal_connect_after (priv->window, "key_press_event",
+ G_CALLBACK (window_key_press_event), self);
priv->notebook = W (priv->builder, "notebook");
priv->scrolled_window = W (priv->builder, "scrolledwindow1");
--
cgit v0.9.0.2
From e5bfcb23d31310e73dc73c2af5a6230e772d115f Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 16 Jul 2012 17:05:04 +0000
Subject: shell: Don't handle shortcuts with excess modifiers
Ctrl+Alt+W shouldn't be handled the same way as Ctrl+W.
https://bugzilla.gnome.org/show_bug.cgi?id=675475
---
diff --git a/shell/gnome-control-center.c b/shell/gnome-control-center.c
index d046033..195a0a1 100644
--- a/shell/gnome-control-center.c
+++ b/shell/gnome-control-center.c
@@ -1058,12 +1058,20 @@ window_key_press_event (GtkWidget *win,
GdkEventKey *event,
GnomeControlCenter *self)
{
+ GdkKeymap *keymap;
gboolean retval;
+ GdkModifierType state;
+
+ if (event->state == 0)
+ return FALSE;
retval = FALSE;
+ state = event->state;
+ keymap = gdk_keymap_get_default ();
+ gdk_keymap_add_virtual_modifiers (keymap, &state);
+ state = state & gtk_accelerator_get_default_mod_mask ();
- if (event->state != 0 &&
- (event->state & GDK_CONTROL_MASK))
+ if (state == GDK_CONTROL_MASK)
{
switch (event->keyval)
{
--
cgit v0.9.0.2