[PATCH 3/4] winex11: destroy gl drawable on SetParent

Miklós Máté mtmkls at gmail.com
Mon Apr 3 16:24:22 CDT 2017


Signed-off-by: Miklós Máté <mtmkls at gmail.com>
---
 dlls/winex11.drv/opengl.c | 1 +
 dlls/winex11.drv/window.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 3f26a1830b..3df3584470 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1637,6 +1637,7 @@ void destroy_gl_drawable( HWND hwnd )
     {
         XDeleteContext( gdi_display, (XID)hwnd, gl_hwnd_context );
         free_gl_drawable( gl );
+        XSync( gdi_display, False );
     }
     LeaveCriticalSection( &context_section );
 }
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 5faf801d93..b0760c81eb 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2168,6 +2168,7 @@ void CDECL X11DRV_SetParent( HWND hwnd, HWND parent, HWND old_parent )
         if (old_parent == GetDesktopWindow())
         {
             /* destroy the old X windows */
+            destroy_gl_drawable( hwnd );
             destroy_whole_window( data, FALSE );
             data->managed = FALSE;
         }
-- 
2.11.0




More information about the wine-patches mailing list