wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DSurfaceImpl_Release.
authorAlexander Dorofeyev <alexd4@inbox.lv>
Wed, 2 Apr 2008 21:11:57 +0000 (00:11 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 3 Apr 2008 09:30:55 +0000 (11:30 +0200)
dlls/wined3d/surface.c

index d164c2f591aed54637552d8e24ae570832e9e941..28ffdcbc7eeda7f1ac39615b3766ae31b98bbb6d 100644 (file)
@@ -441,7 +441,9 @@ ULONG WINAPI IWineD3DSurfaceImpl_Release(IWineD3DSurface *iface) {
 
         if(This->Flags & SFLAG_PBO) {
             /* Delete the PBO */
+            ENTER_GL();
             GL_EXTCALL(glDeleteBuffersARB(1, &This->pbo));
+            LEAVE_GL();
         }
 
         if(This->Flags & SFLAG_DIBSECTION) {
@@ -461,10 +463,12 @@ ULONG WINAPI IWineD3DSurfaceImpl_Release(IWineD3DSurface *iface) {
         if(iface == device->ddraw_primary)
             device->ddraw_primary = NULL;
 
+        ENTER_GL();
         LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &This->renderbuffers, renderbuffer_entry_t, entry) {
             GL_EXTCALL(glDeleteRenderbuffersEXT(1, &entry->id));
             HeapFree(GetProcessHeap(), 0, entry);
         }
+        LEAVE_GL();
 
         TRACE("(%p) Released\n", This);
         HeapFree(GetProcessHeap(), 0, This);