Stefan Dösinger : wined3d: Swap the SFLAG_DIBSECTION flag when swaping hdc and memory.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Feb 14 09:25:37 CST 2007
Module: wine
Branch: master
Commit: ae3327334da6fdb9adcf7d27be387c089b7ffdae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae3327334da6fdb9adcf7d27be387c089b7ffdae
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Feb 13 20:25:48 2007 +0100
wined3d: Swap the SFLAG_DIBSECTION flag when swaping hdc and memory.
---
dlls/wined3d/swapchain.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 00f36de..52271df 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -305,9 +305,15 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CO
/* Flip the DIBsection */
{
HBITMAP tmp;
+ BOOL hasDib = front->Flags & SFLAG_DIBSECTION;
tmp = front->dib.DIBsection;
front->dib.DIBsection = back->dib.DIBsection;
back->dib.DIBsection = tmp;
+
+ if(back->Flags & SFLAG_DIBSECTION) front->Flags |= SFLAG_DIBSECTION;
+ else front->Flags &= ~SFLAG_DIBSECTION;
+ if(hasDib) back->Flags |= SFLAG_DIBSECTION;
+ else back->Flags &= ~SFLAG_DIBSECTION;
}
/* Flip the surface data */
More information about the wine-cvs
mailing list