[PATCH] winex11: fix destroying of top-level windows

Miklós Máté mtmkls at gmail.com
Wed Jun 22 05:31:38 CDT 2016


On 06/20/2016 04:42 PM, Alexandre Julliard wrote:
> Miklós Máté <mtmkls at gmail.com> writes:
>
>> Fixes https://bugs.winehq.org/show_bug.cgi?id=40767
>>
>> Signed-off-by: Miklós Máté <mtmkls at gmail.com>
>> ---
>>   dlls/winex11.drv/opengl.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
>> index d89a193..27ddd79 100644
>> --- a/dlls/winex11.drv/opengl.c
>> +++ b/dlls/winex11.drv/opengl.c
>> @@ -1314,6 +1314,9 @@ static void free_gl_drawable( struct gl_drawable *gl )
>>   {
>>       switch (gl->type)
>>       {
>> +    case DC_GL_WINDOW:
>> +        pglXDestroyWindow( gdi_display, gl->drawable );
>> +        break;
> Actually this one has some issues too:
>
> ../../../tools/runtest -q -P wine -T ../../.. -M d3d9.dll -p d3d9_test.exe.so device && touch device.ok
> device.c:2250: Tests skipped: could not create device, IDirect3D9_CreateDevice returned 0x8876086c
> device.c:6312: Tests skipped: This GPU supports SM3, skipping unsupported shader test.
> device.c:6724: Tests skipped: D3DFMT_A32B32G32R32F supports filtering, skipping tests.
> device.c:7747: Tests skipped: Failed to create cube texture for format R8G8B8 (hr 0x8876086c), skipping tests.
> device.c:8450: Tests skipped: Dynamic D3DFMT_YUY2 textures not supported, skipping mipmap test.
> device.c:8450: Tests skipped: Dynamic D3DFMT_UYVY textures not supported, skipping mipmap test.
> X Error of failed request:  GLXBadWindow
>    Major opcode of failed request:  155 (GLX)
>    Minor opcode of failed request:  32 (X_GLXDestroyWindow)
>    Serial number of failed request:  8900
>    Current serial number in output stream:  8901
> Makefile:208: recipe for target 'device.ok' failed
>
The v2 I sent to the list fixes the test, but I'm fairly sure that the 
critical section is wrong. I tried to run the d3d11 test to see if it 
better exercises multithreading, but it skipped all tests ("None of the 
requested D3D feature levels is supported on this GPU with the current 
shader backend." even though Mesa 11.2 supports GL 4.1 core profile on 
my hw).

Is it an acceptable solution to not leave the critical section until the 
XSaveContext line?

MM




More information about the wine-devel mailing list