30 lines
1.5 KiB
Diff
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 (¤t_sys_kbd_config);
|
|
}
|
|
|