diff --git a/client/src/main.c b/client/src/main.c index 6bac5a3d..b223fa63 100644 --- a/client/src/main.c +++ b/client/src/main.c @@ -3557,12 +3557,6 @@ static void lg_shutdown(void) lgAudio_free(); lgClipboard_setLocalAvailable(false); - if (g_state.frameEvent) - { - lgFreeEvent(g_state.frameEvent); - g_state.frameEvent = NULL; - } - if (e_startup) { lgFreeEvent(e_startup); @@ -3587,6 +3581,13 @@ static void lg_shutdown(void) g_state.overlays = NULL; } + // app_invalidateWindow runs during display server and overlay teardown + if (g_state.frameEvent) + { + lgFreeEvent(g_state.frameEvent); + g_state.frameEvent = NULL; + } + renderQueue_setSourceFns(NULL, NULL, NULL, NULL); renderQueue_free(); LG_LOCK_FREE(g_state.videoSourceLock);