]> git.mdlowis.com Git - proto/labwc.git/commitdiff
src/overlay.c: clean up timer on exit
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Mon, 10 Feb 2025 23:39:36 +0000 (00:39 +0100)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Tue, 11 Feb 2025 15:09:17 +0000 (00:09 +0900)
include/overlay.h
src/overlay.c
src/seat.c

index bb280f8c19ef5177a592d1fd175994c29aeb49ac..ebcaabccd0c1eb400a370fea6afffb95b7b207a2 100644 (file)
@@ -35,9 +35,14 @@ struct overlay {
 };
 
 void overlay_reconfigure(struct seat *seat);
+
 /* Calls overlay_hide() internally if there's no overlay to show */
 void overlay_update(struct seat *seat);
+
 /* This function must be called when server->grabbed_view is destroyed */
 void overlay_hide(struct seat *seat);
 
+/* This function is called to clean up the timer on exit */
+void overlay_finish(struct seat *seat);
+
 #endif
index ed9446bf44a2f558618343128341c622ef738008..ba2cab3b2da38f3509cbe5ed88e16f064ef76a55 100644 (file)
@@ -260,3 +260,12 @@ overlay_hide(struct seat *seat)
                        &server->scene->tree);
        }
 }
+
+void
+overlay_finish(struct seat *seat)
+{
+       if (seat->overlay.timer) {
+               wl_event_source_remove(seat->overlay.timer);
+               seat->overlay.timer = NULL;
+       }
+}
index ebf2c77027a1d127e7c57912e60328d89c770b5c..c72cb186c68f9ced14b25349c4eccd276530f84b 100644 (file)
@@ -598,6 +598,7 @@ seat_finish(struct server *server)
                wl_event_source_remove(seat->workspace_osd_timer);
                seat->workspace_osd_timer = NULL;
        }
+       overlay_finish(seat);
 
        input_handlers_finish(seat);
        input_method_relay_finish(seat->input_method_relay);