summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonsta <[email protected]>2015-08-18 13:37:31 +0300
committerMonsta <[email protected]>2015-08-18 14:50:38 +0300
commit7debab2d7074cd7a12362afd78cd7b1b3b16ac04 (patch)
treeae7602932f0dd9ca8c01753d23cbf90528046f40
parent3ea2c455d7adc3ca33a855d4f73e7a1a3b80f952 (diff)
downloadmate-settings-daemon-7debab2d7074cd7a12362afd78cd7b1b3b16ac04.tar.bz2
mate-settings-daemon-7debab2d7074cd7a12362afd78cd7b1b3b16ac04.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 a406fe5..bb62f2b 100644
--- a/plugins/keyboard/msd-keyboard-xkb.c
+++ b/plugins/keyboard/msd-keyboard-xkb.c
@@ -582,14 +582,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);