[PATCH 2/2] winex11: track glx windows per thread

Alexandre Julliard julliard at winehq.org
Thu Jul 21 05:12:22 CDT 2016


Miklós Máté <mtmkls at gmail.com> writes:

> On 07/21/2016 05:39 AM, Alexandre Julliard wrote:
>> Miklós Máté <mtmkls at gmail.com> writes:
>>
>>> XCloseDisplay in thread_detach() closes all X windows, but the GLX windows
>>> remain, and become zombies. If a new X window is created with the same XID,
>>> Mesa refuses to attach a GLX window to it because of the zombie. Observed
>>> in the ddraw test.
>> Is there a reason that creating the GLX window on the window thread
>> wouldn't work?
>>
> The problem is that Wine uses XCloseDisplay to destroy all X windows
> created in that thread, but there is no equivalent functionality for
> GLX. If gdi_display = windata->display, it would remove the need for
> XSync, but the problem of zombie GLX windows would remain. I hope I
> understood your question correctly.

The ID should be invalidated once the display connection is closed,
otherwise it's a Mesa bug. Have you tested it?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list