From 0a13deae8890bfbfc2caaaab911ef640f589cf6a Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 28 Sep 2011 13:48:52 +0200 Subject: [PATCH] quartz: don't filter away directly encoded 24-bit UCS characters gdk_unicode_to_keyval(uc) returning (uc | 0x01000000) is not an error return value but simply the way to encode 24-bit unicode characters directly as keyvals. --- gdk/quartz/gdkkeys-quartz.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index 2b9307f86..bb877361c 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -359,18 +359,10 @@ maybe_update_keymap (void) p[j] = GDK_KEY_ISO_Left_Tab; if (!found) - { - guint tmp; - - tmp = gdk_unicode_to_keyval (uc); - if (tmp != (uc | 0x01000000)) - p[j] = tmp; - else - p[j] = 0; - } + p[j] = gdk_unicode_to_keyval (uc); } } - + if (p[3] == p[2]) p[3] = 0; if (p[2] == p[1]) @@ -453,20 +445,12 @@ maybe_update_keymap (void) */ if (found && p[j] == GDK_KEY_Tab && modifiers[j] == shiftKey) p[j] = GDK_KEY_ISO_Left_Tab; - + if (!found) - { - guint tmp; - - tmp = gdk_unicode_to_keyval (uc); - if (tmp != (uc | 0x01000000)) - p[j] = tmp; - else - p[j] = 0; - } + p[j] = gdk_unicode_to_keyval (uc); } } - + if (p[3] == p[2]) p[3] = 0; if (p[2] == p[1]) -- 2.43.2