src/overlay.c: clean up timer on exit

This commit is contained in:
Consolatis 2025-02-11 00:39:36 +01:00 committed by Hiroaki Yamamoto
parent 63da13a62b
commit a4d1fcfef2
3 changed files with 15 additions and 0 deletions

View 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

View 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;
}
}

View 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);