Module: wine Branch: master Commit: 8173e6f539ebd4f34919a523d3148fef38cf5bcc URL: http://source.winehq.org/git/wine.git/?a=commit;h=8173e6f539ebd4f34919a523d3... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Tue Sep 13 20:02:24 2011 +0200 ddraw: Just use a static variable for vblank emulation. --- dlls/ddraw/ddraw.c | 13 ++++--------- dlls/ddraw/ddraw_private.h | 1 - 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 4cf7c16..3e3bf60 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -1520,21 +1520,16 @@ static HRESULT WINAPI ddraw1_GetMonitorFrequency(IDirectDraw *iface, DWORD *freq *****************************************************************************/ static HRESULT WINAPI ddraw7_GetVerticalBlankStatus(IDirectDraw7 *iface, BOOL *status) { - IDirectDrawImpl *This = impl_from_IDirectDraw7(iface); + static BOOL fake_vblank; TRACE("iface %p, status %p.\n", iface, status); - /* This looks sane, the MSDN suggests it too */ - EnterCriticalSection(&ddraw_cs); if(!status) - { - LeaveCriticalSection(&ddraw_cs); return DDERR_INVALIDPARAMS; - } - *status = This->fake_vblank; - This->fake_vblank = !This->fake_vblank; - LeaveCriticalSection(&ddraw_cs); + *status = fake_vblank; + fake_vblank = !fake_vblank; + return DD_OK; } diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h index 0731eb0..80dd53d 100644 --- a/dlls/ddraw/ddraw_private.h +++ b/dlls/ddraw/ddraw_private.h @@ -89,7 +89,6 @@ struct IDirectDrawImpl BOOL d3d_initialized; /* Misc ddraw fields */ - BOOL fake_vblank; BOOL initialized; /* DirectDraw things, which are not handled by WineD3D */