summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonsta <[email protected]>2015-08-18 13:37:31 +0300
committerinfirit <[email protected]>2015-08-31 15:48:26 +0200
commitba569ba6c415831be3720cda5408b1150a64b9c1 (patch)
tree4005e13fb074d9fdd228ca576c0c4b297ea17bd6
parent3528aa7435f25aad1490805ab4899e728efd7947 (diff)
downloadmate-settings-daemon-ba569ba6c415831be3720cda5408b1150a64b9c1.tar.bz2
mate-settings-daemon-ba569ba6c415831be3720cda5408b1150a64b9c1.tar.xz
keyboard: connect to libmatekbd's GSettings before reading them
the notorious GLib >= 2.43 issue...
-rw-r--r--plugins/keyboard/msd-keyboard-xkb.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/plugins/keyboard/msd-keyboard-xkb.c b/plugins/keyboard/msd-keyboard-xkb.c
index 6b2dea3..50d9400 100644
--- a/plugins/keyboard/msd-keyboard-xkb.c
+++ b/plugins/keyboard/msd-keyboard-xkb.c
@@ -594,14 +594,25 @@ msd_keyboard_xkb_init (MsdKeyboardManager * kbd_manager)
settings_kbd = g_settings_new (MATEKBD_KBD_SCHEMA);
matekbd_desktop_config_init (&current_desktop_config,
- xkl_engine);
+ xkl_engine);
matekbd_keyboard_config_init (&current_kbd_config,
- xkl_engine);
+ xkl_engine);
+
xkl_engine_backup_names_prop (xkl_engine);
msd_keyboard_xkb_analyze_sysconfig ();
- g_signal_connect (settings_desktop, "changed", G_CALLBACK(apply_desktop_settings_cb), NULL);
- g_signal_connect (settings_kbd, "changed", G_CALLBACK(apply_xkb_settings_cb), NULL);
+ matekbd_desktop_config_start_listen (&current_desktop_config,
+ G_CALLBACK (apply_desktop_settings_cb),
+ NULL);
+
+ matekbd_keyboard_config_start_listen (&current_kbd_config,
+ G_CALLBACK (apply_xkb_settings_cb),
+ NULL);
+
+ g_signal_connect (settings_desktop, "changed",
+ G_CALLBACK (apply_desktop_settings_cb), NULL);
+ g_signal_connect (settings_kbd, "changed",
+ G_CALLBACK (apply_xkb_settings_cb), NULL);
gdk_window_add_filter (NULL, (GdkFilterFunc)
msd_keyboard_xkb_evt_filter, NULL);