diff options
-rw-r--r-- | libmatekbd/matekbd-desktop-config.c | 13 | ||||
-rw-r--r-- | libmatekbd/matekbd-indicator-config.c | 13 | ||||
-rw-r--r-- | libmatekbd/matekbd-keyboard-config.c | 13 | ||||
-rw-r--r-- | libmatekbd/matekbd-status.c | 13 |
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; |