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,
}
}
if (Flags & DDLOCK_READONLY)
memset(&This->ddraw->primary_lock, 0, sizeof(This->ddraw->primary_lock));
else if (Rect)
This->ddraw->primary_lock = *Rect;
else
SetRect(&This->ddraw->primary_lock, 0, 0, This->surface_desc.dwWidth, This->surface_desc.dwHeight);
if (This->surface_desc.ddsCaps.dwCaps & DDSCAPS_FRONTBUFFER)
{
if (Flags & DDLOCK_READONLY)
memset(&This->ddraw->primary_lock, 0, sizeof(This->ddraw->primary_lock));
else if (Rect)
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
* 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