wined3d: Only swap system memory resources of front and back buffer if they have the same size.

This commit is contained in:
Stefan Dösinger 2007-05-28 21:21:43 +02:00 committed by Alexandre Julliard
parent cf1e01eb0c
commit 43fda1f4f0

View file

@ -321,6 +321,7 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CO
BOOL frontuptodate = front->Flags & SFLAG_INSYSMEM;
BOOL backuptodate = back->Flags & SFLAG_INSYSMEM;
if(front->resource.size == back->resource.size) {
/* Flip the DC */
{
HDC tmp;
@ -367,6 +368,10 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CO
else back->Flags &= ~SFLAG_INSYSMEM;
if(backuptodate) front->Flags |= SFLAG_INSYSMEM;
else front->Flags &= ~SFLAG_INSYSMEM;
} else {
back->Flags &= ~SFLAG_INSYSMEM;
front->Flags &= ~SFLAG_INSYSMEM;
}
}
TRACE("returning\n");