[PATCH v2 2/2] winex11.drv: Destroy GLX pbuffer when destroying drawable.

Paul Gofman wine at gitlab.winehq.org
Tue Jun 14 11:46:42 CDT 2022


From: Paul Gofman <pgofman at codeweavers.com>

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
 dlls/winex11.drv/opengl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 91983d31770..76bc494a7b3 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1165,6 +1165,10 @@ static void release_gl_drawable( struct gl_drawable *gl )
         pglXDestroyPixmap( gdi_display, gl->drawable );
         XFreePixmap( gdi_display, gl->pixmap );
         break;
+    case DC_GL_PBUFFER:
+        TRACE( "destroying pbuffer drawable %lx\n", gl->drawable );
+        pglXDestroyPbuffer( gdi_display, gl->drawable );
+        break;
     default:
         break;
     }
@@ -2316,7 +2320,6 @@ static BOOL X11DRV_wglDestroyPbufferARB( struct wgl_pbuffer *object )
     pthread_mutex_lock( &context_mutex );
     list_remove( &object->entry );
     pthread_mutex_unlock( &context_mutex );
-    pglXDestroyPbuffer(gdi_display, object->gl->drawable);
     release_gl_drawable( object->gl );
     if (object->tmp_context)
         pglXDestroyContext(gdi_display, object->tmp_context);
-- 
GitLab

https://gitlab.winehq.org/wine/wine/-/merge_requests/244



More information about the wine-devel mailing list