--- a/libpurple/idle.c Tue Mar 21 00:46:58 2023 -0500 +++ b/libpurple/idle.c Tue Mar 21 01:59:19 2023 -0500 @@ -282,9 +282,7 @@ G_GNUC_UNUSED PurplePrefType type, G_GNUC_UNUSED gconstpointer val, G_GNUC_UNUSED gpointer data) { - if (idle_timer) - g_source_remove(idle_timer); - idle_timer = 0; + g_clear_handle_id(&idle_timer, g_source_remove); check_idleness_timer(NULL); } @@ -294,9 +292,7 @@ time(&last_active_time); if (!no_away) { - if (idle_timer) - g_source_remove(idle_timer); - idle_timer = 0; + g_clear_handle_id(&idle_timer, g_source_remove); check_idleness_timer(NULL); } } @@ -373,9 +369,7 @@ purple_prefs_disconnect_by_handle(purple_idle_get_handle()); /* Remove the idle timer */ - if (idle_timer > 0) - g_source_remove(idle_timer); - idle_timer = 0; + g_clear_handle_id(&idle_timer, g_source_remove); g_clear_object(&idle_ui); }