gnome-settings-daemon r484 - in trunk: . plugins/keyboard



Author: matthiasc
Date: Sat Sep  6 17:50:27 2008
New Revision: 484
URL: http://svn.gnome.org/viewvc/gnome-settings-daemon?rev=484&view=rev

Log:
2008-09-06  Matthias Clasen  <mclasen redhat com>

        Bug 551062 â try harder to use the keyboard layout passed by gdm

        * plugins/keyboard/gsd-keyboard-xkb.c: Be tolerant of variants
        when trying to match the gdm-provided keyboard layout to the
        existing keyboard configuration.



Modified:
   trunk/ChangeLog
   trunk/plugins/keyboard/gsd-keyboard-xkb.c

Modified: trunk/plugins/keyboard/gsd-keyboard-xkb.c
==============================================================================
--- trunk/plugins/keyboard/gsd-keyboard-xkb.c	(original)
+++ trunk/plugins/keyboard/gsd-keyboard-xkb.c	Sat Sep  6 17:50:27 2008
@@ -171,8 +171,10 @@
                 } else {
                          GSList *l;
                          int i;
+                         size_t len = strlen (gdm_keyboard_layout);
                          for (i = 0, l = current_kbd_config.layouts_variants; l; i++, l = l->next) {
-                                 if (strcmp (gdm_keyboard_layout, l->data) == 0) {
+                                 char *lv = l->data;
+                                 if (strncmp (lv, gdm_keyboard_layout, len) == 0 && (lv[len] == '\0' || lv[len] == '\t')) {
                                         xkl_engine_lock_group (current_config.engine, i);
                                         break;
                                  }
@@ -307,6 +309,7 @@
                              GdkEvent  * event)
 {
         XEvent *xevent = (XEvent *) xev;
+	g_print ("gd_keyboard_xkb_evt_filter\n");
         xkl_engine_filter_events (xkl_engine, xevent);
         return GDK_FILTER_CONTINUE;
 }



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