Commit 38abddca authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

ddraw: Only update primary_lock when we're actually locking the frontbuffer.

This fixes a regression introduced by commit 8330558e.
parent 61550ff1
...@@ -972,12 +972,15 @@ static HRESULT surface_lock(IDirectDrawSurfaceImpl *This, ...@@ -972,12 +972,15 @@ static HRESULT surface_lock(IDirectDrawSurfaceImpl *This,
} }
} }
if (Flags & DDLOCK_READONLY) if (This->surface_desc.ddsCaps.dwCaps & DDSCAPS_FRONTBUFFER)
memset(&This->ddraw->primary_lock, 0, sizeof(This->ddraw->primary_lock)); {
else if (Rect) if (Flags & DDLOCK_READONLY)
This->ddraw->primary_lock = *Rect; memset(&This->ddraw->primary_lock, 0, sizeof(This->ddraw->primary_lock));
else else if (Rect)
SetRect(&This->ddraw->primary_lock, 0, 0, This->surface_desc.dwWidth, This->surface_desc.dwHeight); This->ddraw->primary_lock = *Rect;
else
SetRect(&This->ddraw->primary_lock, 0, 0, This->surface_desc.dwWidth, This->surface_desc.dwHeight);
}
/* Override the memory area. The pitch should be set already. Strangely windows /* Override the memory area. The pitch should be set already. Strangely windows
* does not set the LPSURFACE flag on locked surfaces !?!. * does not set the LPSURFACE flag on locked surfaces !?!.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment