Stefan Dösinger : ddraw: Hold the lock in IDirectDrawGammaControl methods.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jun 4 08:14:28 CDT 2007


Module: wine
Branch: master
Commit: e38439bdfe5d793f14da3c2dda2ab29faf2f7ff0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e38439bdfe5d793f14da3c2dda2ab29faf2f7ff0

Author: Stefan Dösinger <stefandoesinger at gmx.at>
Date:   Sat May 26 18:46:51 2007 +0200

ddraw: Hold the lock in IDirectDrawGammaControl methods.

---

 dlls/ddraw/gamma.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/ddraw/gamma.c b/dlls/ddraw/gamma.c
index 8a8e2dd..949d673 100644
--- a/dlls/ddraw/gamma.c
+++ b/dlls/ddraw/gamma.c
@@ -141,6 +141,7 @@ IDirectDrawGammaControlImpl_GetGammaRamp(IDirectDrawGammaControl *iface,
         return DDERR_INVALIDPARAMS;
     }
 
+    EnterCriticalSection(&ddraw_cs);
     if(This->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
     {
         /* Note: DDGAMMARAMP is compatible with WINED3DGAMMARAMP */
@@ -152,6 +153,7 @@ IDirectDrawGammaControlImpl_GetGammaRamp(IDirectDrawGammaControl *iface,
     {
         ERR("(%p) Unimplemented for non-primary surfaces\n", This);
     }
+    LeaveCriticalSection(&ddraw_cs);
 
     return DD_OK;
 }
@@ -185,6 +187,7 @@ IDirectDrawGammaControlImpl_SetGammaRamp(IDirectDrawGammaControl *iface,
         return DDERR_INVALIDPARAMS;
     }
 
+    EnterCriticalSection(&ddraw_cs);
     if(This->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
     {
 
@@ -198,6 +201,7 @@ IDirectDrawGammaControlImpl_SetGammaRamp(IDirectDrawGammaControl *iface,
     {
         ERR("(%p) Unimplemented for non-primary surfaces\n", This);
     }
+    LeaveCriticalSection(&ddraw_cs);
 
     return DD_OK;
 }




More information about the wine-cvs mailing list