[maemo-commits] [maemo-commits] r14935 - in projects/haf/trunk/hildon-desktop: . libhildonwm

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Dec 10 12:30:54 EET 2007
Author: jobi
Date: 2007-12-10 12:30:46 +0200 (Mon, 10 Dec 2007)
New Revision: 14935

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/libhildonwm/hd-keys.c
Log:

2007-12-10  Johan Bilien  <johan.bilien at nokia.com>

	* libhildonwm/hd-keys.c: catch X errors around call to
	XKeycodeToKeysym. Fixes: NB#78409



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-12-10 09:47:07 UTC (rev 14934)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-12-10 10:30:46 UTC (rev 14935)
@@ -1,3 +1,8 @@
+2007-12-10  Johan Bilien  <johan.bilien at nokia.com>
+
+	* libhildonwm/hd-keys.c: catch X errors around call to
+	XKeycodeToKeysym. Fixes: NB#78409
+
 2007-11-22  Johan Bilien  <johan.bilien at nokia.com>
 
 	* configure.ac: 2.0.6

Modified: projects/haf/trunk/hildon-desktop/libhildonwm/hd-keys.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildonwm/hd-keys.c	2007-12-10 09:47:07 UTC (rev 14934)
+++ projects/haf/trunk/hildon-desktop/libhildonwm/hd-keys.c	2007-12-10 10:30:46 UTC (rev 14935)
@@ -330,8 +330,17 @@
       for (col = 0; col < 4; col += 2) 
       {
         KeyCode code = mod_map->modifiermap[mod_idx * kpm + mod_key];
-        KeySym sym = (code ? XKeycodeToKeysym (GDK_DISPLAY(), code, col) : 0);
+        KeySym sym = 0;
 
+        if (code)
+        {
+          gdk_error_trap_push ();
+          sym = XKeycodeToKeysym (GDK_DISPLAY(), code, col);
+          gdk_flush ();
+          if (gdk_error_trap_pop ())
+            continue;
+        }
+
         if (sym == last_sym) continue;
 	
         last_sym = sym;


More information about the maemo-commits mailing list