[PATCH 0/1] MR4916: winex11: Sync with gdi_display before closing the threads display.
This is a synchronization point that was missed in a6bc5f34b87393e04ff46659f518f2e7094cc7e4, as XCloseDisplay implies the destruction any every remaining top-level window. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4916
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winex11.drv/x11drv_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index 1b9555bcfbf..25a36cb8c0c 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -721,6 +721,7 @@ void X11DRV_ThreadDetach(void) vulkan_thread_detach(); if (data->xim) XCloseIM( data->xim ); if (data->font_set) XFreeFontSet( data->display, data->font_set ); + XSync( gdi_display, False ); /* make sure XReparentWindow requests have completed before closing the thread display */ XCloseDisplay( data->display ); free( data ); /* clear data in case we get re-entered from user32 before the thread is truly dead */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4916
participants (1)
-
Rémi Bernon