summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmatekbd/matekbd-desktop-config.c13
-rw-r--r--libmatekbd/matekbd-indicator-config.c13
-rw-r--r--libmatekbd/matekbd-keyboard-config.c13
-rw-r--r--libmatekbd/matekbd-status.c13
4 files changed, 43 insertions, 9 deletions
diff --git a/libmatekbd/matekbd-desktop-config.c b/libmatekbd/matekbd-desktop-config.c
index 1d854ff..19e0dae 100644
--- a/libmatekbd/matekbd-desktop-config.c
+++ b/libmatekbd/matekbd-desktop-config.c
@@ -256,9 +256,16 @@ matekbd_desktop_config_start_listen (MatekbdDesktopConfig * config,
void
matekbd_desktop_config_stop_listen (MatekbdDesktopConfig * config)
{
- g_signal_handler_disconnect (config->settings,
- config->config_listener_id);
- config->config_listener_id = 0;
+#if GLIB_CHECK_VERSION(2,62,0)
+ g_clear_signal_handler (&config->config_listener_id,
+ config->settings);
+#else
+ if (config->config_listener_id != 0) {
+ g_signal_handler_disconnect (config->settings,
+ config->config_listener_id);
+ config->config_listener_id = 0;
+ }
+#endif
}
gboolean
diff --git a/libmatekbd/matekbd-indicator-config.c b/libmatekbd/matekbd-indicator-config.c
index 869b26e..a606af8 100644
--- a/libmatekbd/matekbd-indicator-config.c
+++ b/libmatekbd/matekbd-indicator-config.c
@@ -332,7 +332,14 @@ matekbd_indicator_config_start_listen (MatekbdIndicatorConfig *
void
matekbd_indicator_config_stop_listen (MatekbdIndicatorConfig * ind_config)
{
- g_signal_handler_disconnect (ind_config->settings,
- ind_config->config_listener_id);
- ind_config->config_listener_id = 0;
+#if GLIB_CHECK_VERSION(2,62,0)
+ g_clear_signal_handler (&ind_config->config_listener_id,
+ ind_config->settings);
+#else
+ if (ind_config->config_listener_id != 0) {
+ g_signal_handler_disconnect (ind_config->settings,
+ ind_config->config_listener_id);
+ ind_config->config_listener_id = 0;
+ }
+#endif
}
diff --git a/libmatekbd/matekbd-keyboard-config.c b/libmatekbd/matekbd-keyboard-config.c
index 7338e28..8a683c5 100644
--- a/libmatekbd/matekbd-keyboard-config.c
+++ b/libmatekbd/matekbd-keyboard-config.c
@@ -650,9 +650,16 @@ matekbd_keyboard_config_start_listen (MatekbdKeyboardConfig * kbd_config,
void
matekbd_keyboard_config_stop_listen (MatekbdKeyboardConfig * kbd_config)
{
- g_signal_handler_disconnect (kbd_config->settings,
- kbd_config->config_listener_id);
- kbd_config->config_listener_id = 0;
+#if GLIB_CHECK_VERSION(2,62,0)
+ g_clear_signal_handler (&kbd_config->config_listener_id,
+ kbd_config->settings);
+#else
+ if (kbd_config->config_listener_id != 0) {
+ g_signal_handler_disconnect (kbd_config->settings,
+ kbd_config->config_listener_id);
+ kbd_config->config_listener_id = 0;
+ }
+#endif
}
gboolean
diff --git a/libmatekbd/matekbd-status.c b/libmatekbd/matekbd-status.c
index 68c15dc..029ea73 100644
--- a/libmatekbd/matekbd-status.c
+++ b/libmatekbd/matekbd-status.c
@@ -720,6 +720,18 @@ matekbd_status_global_term (void)
matekbd_keyboard_config_term (&globals.kbd_cfg);
matekbd_desktop_config_term (&globals.cfg);
+#if GLIB_CHECK_VERSION(2,62,0)
+ if ((globals.state_changed_handler != 0) &&
+ g_signal_handler_is_connected (globals.engine,
+ globals.state_changed_handler))
+ g_clear_signal_handler (&globals.state_changed_handler,
+ globals.engine);
+ if ((globals.config_changed_handler != 0) &&
+ g_signal_handler_is_connected (globals.engine,
+ globals.config_changed_handler))
+ g_clear_signal_handler (&globals.config_changed_handler,
+ globals.engine);
+#else
if (g_signal_handler_is_connected
(globals.engine, globals.state_changed_handler)) {
g_signal_handler_disconnect (globals.engine,
@@ -732,6 +744,7 @@ matekbd_status_global_term (void)
globals.config_changed_handler);
globals.config_changed_handler = 0;
}
+#endif
g_object_unref (G_OBJECT (globals.registry));
globals.registry = NULL;