[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#381979: keymap not changed in g-i after selection in kbd-chooser



On Thursday 21 September 2006 23:32, Davide Viti wrote:
I have just tested keymap switching with a slightly modified patch 
(attached) with the current 2.8 GTK libs.
Attilio: is this patch OK with you?

The testresults:
- keymap switching works now :-)
- VT1 does get quite a few messages "Reloading keymap" and "Reloaded
  keymap", but it does not get totally flooded, so that is acceptable
- the change causes frontend crashes in some situations (see below) :-(
- I have now seen a situation where regular + and - don't work to
  expand/collapse a the full country list (#343244), but instead activate
  searching; not sure what is happening exactly though as it works in
  other cases


The frontend crashes occur only if the frontend is running while the 
active console is not VT5 (e.g. VT1 or VT2).
I've only seen the crashes while netcfg or partman were running, i.e. when 
a C program is running; not sure if that is significant.

I am willing to ignore this issue for RC1, but I would very much hope it 
can be resolved before the Etch release!
Index: src/modules/frontend/gtk/gtk.c
===================================================================
--- src/modules/frontend/gtk/gtk.c	(revision 40817)
+++ src/modules/frontend/gtk/gtk.c	(working copy)
@@ -49,9 +49,13 @@
 #include <debian-installer/slist.h>
 #include <gdk/gdkkeysyms.h>
 
+#if GTK_CHECK_VERSION(2,10,0)
 #ifdef GDK_WINDOWING_DIRECTFB
 #include <directfb.h>
 #endif
+#else
+#include <directfb.h>
+#endif
 
 #define WINDOW_WIDTH 800
 #define WINDOW_HEIGHT 600
@@ -1543,10 +1547,15 @@
      * for dfb to support automatic keymap change detection and reloading
      * (See also bug #381979)
      */
+
+    #if GTK_CHECK_VERSION(2,10,0)
     #ifdef GDK_WINDOWING_DIRECTFB
     dfb_input_device_reload_keymap( dfb_input_device_at( DIDID_KEYBOARD ) );
     #endif
-    
+    #else
+    dfb_input_device_reload_keymap( dfb_input_device_at( DIDID_KEYBOARD ) );
+    #endif
+
     gtk_rc_reparse_all();
 
     questionbox = gtk_vbox_new(FALSE, 0);

Attachment: pgpVWpHykxY_0.pgp
Description: PGP signature


Reply to: