SOURCES: gtk+2-fix-combining-broken-diacritics.patch (NEW) - fix broken dia...

hawk hawk at pld-linux.org
Tue Oct 7 11:06:21 CEST 2008


Author: hawk                         Date: Tue Oct  7 09:06:21 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix broken diacritics on intl keyboards (see gnome bug #554192),
  taken from gentoo

---- Files affected:
SOURCES:
   gtk+2-fix-combining-broken-diacritics.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gtk+2-fix-combining-broken-diacritics.patch
diff -u /dev/null SOURCES/gtk+2-fix-combining-broken-diacritics.patch:1.1
--- /dev/null	Tue Oct  7 11:06:21 2008
+++ SOURCES/gtk+2-fix-combining-broken-diacritics.patch	Tue Oct  7 11:06:15 2008
@@ -0,0 +1,26 @@
+Index: gtk/gtkimcontextsimple.c
+===================================================================
+--- gtk/gtkimcontextsimple.c	(revision 21556)
++++ gtk/gtkimcontextsimple.c	(revision 21557)
+@@ -407,11 +407,19 @@
+   return FALSE;
+ }
+ 
+-/* When updating the table of the compose sequences, also update here.
++/* Checks if a keysym is a dead key. Dead key keysym values are defined in
++ * ../gdk/gdkkeysyms.h and the first is GDK_dead_grave. As X.Org is updated,
++ * more dead keys are added and we need to update the upper limit.
++ * Also checks if the keysym belongs to the non-spacing mark Unicode category,
++ * by invoking gdk_keyval_to_unicode(). For keysyms like 0x1000000 + 0x0301,
++ * it converts them to 0x301, which makes g_unichar_type() report them as
++ * non-spacing mark. Thus, we check that the value is less then 0x1000000.
++ * check_algorithmically() does not handle keysyms > 0x1000000.
+  */
+ #define IS_DEAD_KEY(k) \
+     (((k) >= GDK_dead_grave && (k) <= (GDK_dead_dasia+1)) || \
+-     g_unichar_type (gdk_keyval_to_unicode (k)) == G_UNICODE_NON_SPACING_MARK)
++     ((g_unichar_type (gdk_keyval_to_unicode (k)) == G_UNICODE_NON_SPACING_MARK) && \
++      ((k) < 0x1000000)))
+ 
+ static gboolean
+ check_algorithmically (GtkIMContextSimple    *context_simple,
================================================================


More information about the pld-cvs-commit mailing list