[PATCH v2] winex11.drv: Destroy windows associated with X11 display when the display is closed.

Rémi Bernon rbernon at codeweavers.com
Thu Oct 14 09:04:39 CDT 2021


On 10/14/21 3:56 PM, Paul Gofman wrote:
> Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
> ---
>      Supersedes 217174.
> 
>      X11DRV_ThreadDetach() destroys thread data part of which
>      (e. g., display) is still present in window data in winex11.drv
>      and accessible through hwnd. That causes all sort of hangs
>      and crashes when, for instance, the window is still used for Vulkan
>      rendering (even if only to tear down the device and swapchain).
> 
>   dlls/winex11.drv/window.c      | 66 ++++++++++++++++++++++++++++++++++
>   dlls/winex11.drv/x11drv.h      |  6 ++++
>   dlls/winex11.drv/x11drv_main.c |  3 ++
>   3 files changed, 75 insertions(+)
> 

I think the right way to fix this is to fix the user32 window leaks, as 
complicated and intricated as it may be. Adding another internal thread 
window list just makes things even more complicated.
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list