[PATCH] Fix recursive ENTER_GL in UpdateSurface.

Roderick Colenbrander thunderbird2k at gmx.net
Sat Oct 18 19:05:10 CDT 2008


---
 dlls/wined3d/device.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c024cc5..f72c135 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5880,11 +5880,11 @@ static HRESULT  WINAPI  IWineD3DDeviceImpl_UpdateSurface(IWineD3DDevice *iface,
 
     ActivateContext(This, This->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
 
-    ENTER_GL();
-
     if (GL_SUPPORT(ARB_MULTITEXTURE)) {
+        ENTER_GL();
         GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB));
         checkGLcall("glActiveTextureARB");
+        LEAVE_GL();
     }
 
     /* Make sure the surface is loaded and up to date */
@@ -5924,6 +5924,8 @@ static HRESULT  WINAPI  IWineD3DDeviceImpl_UpdateSurface(IWineD3DDevice *iface,
         FIXME("Surfaces has no allocated memory, but should be an in memory only surface\n");
     }
 
+    ENTER_GL();
+
     /* TODO: Cube and volume support */
     if(rowoffset != 0){
         /* not a whole row so we have to do it a line at a time */
-- 
1.5.3.8


--========GMX316031224368329207372--



More information about the wine-patches mailing list