gnome-settings-daemon/fix-gdm-layout.patch
2008-10-01 03:32:08 +00:00

30 lines
1.5 KiB
Diff

diff -up gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c.fix-gdm-layout gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c
--- gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c.fix-gdm-layout 2008-09-30 22:56:41.000000000 -0400
+++ gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c 2008-09-30 22:58:52.000000000 -0400
@@ -142,6 +142,7 @@ apply_xkb_settings (void)
{
GConfClient *conf_client;
GkbdKeyboardConfig current_sys_kbd_config;
+ int group_to_activate = -1;
if (!inited_ok)
return;
@@ -175,7 +176,7 @@ apply_xkb_settings (void)
for (i = 0, l = current_kbd_config.layouts_variants; l; i++, l = l->next) {
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);
+ group_to_activate = i;
break;
}
}
@@ -206,6 +207,8 @@ apply_xkb_settings (void)
xkl_debug (100,
"Actual KBD configuration was not changed: redundant notification\n");
+ if (group_to_activate != -1)
+ xkl_engine_lock_group (current_config.engine, group_to_activate);
gkbd_keyboard_config_term (&current_sys_kbd_config);
}