Stefan Dösinger : ddraw: Hold the lock in IDirect3DLight methods.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jun 5 05:48:30 CDT 2007
Module: wine
Branch: master
Commit: 6eb8e3fb6f3aec264389e136647c7daf924068ed
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6eb8e3fb6f3aec264389e136647c7daf924068ed
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Wed May 30 16:16:04 2007 +0200
ddraw: Hold the lock in IDirect3DLight methods.
---
dlls/ddraw/light.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/light.c b/dlls/ddraw/light.c
index 93144d3..aeb8390 100644
--- a/dlls/ddraw/light.c
+++ b/dlls/ddraw/light.c
@@ -201,10 +201,12 @@ IDirect3DLightImpl_SetLight(IDirect3DLight *iface,
light7->dvTheta = lpLight->dvTheta;
light7->dvPhi = lpLight->dvPhi;
+ EnterCriticalSection(&ddraw_cs);
memcpy(&This->light, lpLight, lpLight->dwSize);
if ((This->light.dwFlags & D3DLIGHT_ACTIVE) != 0) {
This->update(This);
}
+ LeaveCriticalSection(&ddraw_cs);
return D3D_OK;
}
@@ -230,7 +232,11 @@ IDirect3DLightImpl_GetLight(IDirect3DLight *iface,
TRACE(" Returning light definition :\n");
dump_light(&This->light);
}
+
+ EnterCriticalSection(&ddraw_cs);
memcpy(lpLight, &This->light, lpLight->dwSize);
+ LeaveCriticalSection(&ddraw_cs);
+
return DD_OK;
}
More information about the wine-cvs
mailing list