gnome-settings-daemon r383 - in trunk: . plugins/common
- From: jensg svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-settings-daemon r383 - in trunk: . plugins/common
- Date: Fri, 20 Jun 2008 16:46:59 +0000 (UTC)
Author: jensg
Date: Fri Jun 20 16:46:59 2008
New Revision: 383
URL: http://svn.gnome.org/viewvc/gnome-settings-daemon?rev=383&view=rev
Log:
2008-06-20 Jens Granseuer <jensgr gmx net>
* plugins/common/gsd-keygrab.c: (match_key): fix accel check so
that we don't match e.g. XF86RaiseVolume if <Alt> + XF86RaiseVolume
was pressed (bug #538699). Also fix build without XKB
Modified:
trunk/ChangeLog
trunk/plugins/common/gsd-keygrab.c
Modified: trunk/plugins/common/gsd-keygrab.c
==============================================================================
--- trunk/plugins/common/gsd-keygrab.c (original)
+++ trunk/plugins/common/gsd-keygrab.c Fri Jun 20 16:46:59 2008
@@ -153,7 +153,6 @@
gboolean
match_key (Key *key, XEvent *event)
{
- GdkKeymap *keymap;
guint keyval;
GdkModifierType consumed;
gint group;
@@ -161,13 +160,15 @@
if (key == NULL)
return FALSE;
- keymap = gdk_keymap_get_default ();
+#ifdef HAVE_X11_EXTENSIONS_XKB_H
if (have_xkb (event->xkey.display))
group = XkbGroupForCoreState (event->xkey.state);
else
+#endif
group = (event->xkey.state & GDK_Mode_switch) ? 1 : 0;
+
/* Check if we find a keysym that matches our current state */
- if (gdk_keymap_translate_keyboard_state (keymap, event->xkey.keycode,
+ if (gdk_keymap_translate_keyboard_state (NULL, event->xkey.keycode,
event->xkey.state, group,
&keyval, NULL, NULL, &consumed)) {
guint lower, upper;
@@ -180,7 +181,7 @@
consumed &= ~GDK_SHIFT_MASK;
return ((lower == key->keysym || upper == key->keysym)
- && (key->state & ~consumed & GSD_USED_MODS) == key->state);
+ && (event->xkey.state & ~consumed & GSD_USED_MODS) == key->state);
}
/* The key we passed doesn't have a keysym, so try with just the keycode */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]