[gtk+] wayland: Update modifiers handling to match new semantics
- From: Rob Bradford <rbradford src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] wayland: Update modifiers handling to match new semantics
- Date: Wed, 18 Jan 2012 16:49:15 +0000 (UTC)
commit 29641ecd078c279327cbca5a30ca8426089aed5e
Author: Rob Bradford <rob linux intel com>
Date: Wed Jan 18 16:27:58 2012 +0000
wayland: Update modifiers handling to match new semantics
Due to changes in the behaviour of the virtual modifiers around MOD1 the
implementation of the map_virtual_modifiers vfunc was mangling the modifiers
and making keybindings not work correctly.
This change updates the implementation to match the X11 implementation's
behaviour.
gdk/wayland/gdkkeys-wayland.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
---
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
index 55c95e3..d49be2f 100644
--- a/gdk/wayland/gdkkeys-wayland.c
+++ b/gdk/wayland/gdkkeys-wayland.c
@@ -515,12 +515,10 @@ gdk_wayland_keymap_add_virtual_modifiers (GdkKeymap *keymap,
wayland_keymap = GDK_WAYLAND_KEYMAP (keymap);
- for (i = 3; i < 8; i++)
+ for (i = 4; i < 8; i++)
{
if ((1 << i) & *state)
{
- if (wayland_keymap->modmap[i] & GDK_MOD1_MASK)
- *state |= GDK_MOD1_MASK;
if (wayland_keymap->modmap[i] & GDK_SUPER_MASK)
*state |= GDK_SUPER_MASK;
if (wayland_keymap->modmap[i] & GDK_HYPER_MASK)
@@ -540,7 +538,7 @@ gdk_wayland_keymap_map_virtual_modifiers (GdkKeymap *keymap,
};
int i, j;
GdkWaylandKeymap *wayland_keymap;
- gboolean retval;
+ gboolean retval = TRUE;
wayland_keymap = GDK_WAYLAND_KEYMAP (keymap);
@@ -548,7 +546,7 @@ gdk_wayland_keymap_map_virtual_modifiers (GdkKeymap *keymap,
{
if (*state & vmods[j])
{
- for (i = 3; i < 8; i++)
+ for (i = 4; i < 8; i++)
{
if (wayland_keymap->modmap[i] & vmods[j])
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]