diff options
Diffstat (limited to 'libmatekbd/matekbd-desktop-config.c')
-rw-r--r-- | libmatekbd/matekbd-desktop-config.c | 13 |
1 files changed, 10 insertions, 3 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 |