[PATCH 4/5] wined3d: Call SetDestWindowOverride() before acquiring a context.
Henri Verbeet
hverbeet at codeweavers.com
Thu Feb 4 11:30:07 CST 2010
---
dlls/wined3d/swapchain.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 6b44cd5..838d461 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -217,6 +217,8 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CO
unsigned int sync;
int retval;
+ IWineD3DSwapChain_SetDestWindowOverride(iface, hDestWindowOverride);
+
context = context_acquire(This->device, This->backBuffer[0], CTXUSAGE_RESOURCELOAD);
/* Render the cursor onto the back buffer, using our nifty directdraw blitting code :-) */
@@ -274,11 +276,6 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CO
TRACE("presetting HDC %p\n", This->context[0]->hdc);
- /* Don't call checkGLcall, as glGetError is not applicable here */
- if (hDestWindowOverride && This->win_handle != hDestWindowOverride) {
- IWineD3DSwapChain_SetDestWindowOverride(iface, hDestWindowOverride);
- }
-
render_to_fbo = This->render_to_fbo;
if (pSourceRect)
@@ -522,7 +519,7 @@ static HRESULT WINAPI IWineD3DSwapChainImpl_SetDestWindowOverride(IWineD3DSwapCh
WINED3DLOCKED_RECT r;
BYTE *mem;
- if(window == This->win_handle) return WINED3D_OK;
+ if (!window || window == This->win_handle) return WINED3D_OK;
TRACE("Performing dest override of swapchain %p from window %p to %p\n", This, This->win_handle, window);
if (This->context[0] == This->device->contexts[0])
--
1.6.4.4
More information about the wine-patches
mailing list