[PATCH 3/5] wined3d: Update the swapchain's present parameters when changing the backbuffer.

Henri Verbeet hverbeet at codeweavers.com
Tue Feb 2 05:06:55 CST 2010


This fixes a bug exposed by commit b5907e23cc595de1f0aba2a615c8c4510b433d36.
---
 dlls/wined3d/device.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 955b221..02c468f 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5621,6 +5621,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetFrontBackBuffers(IWineD3DDevice *ifa
         if(Swapchain->backBuffer[0]) {
             IWineD3DSurface_SetContainer(Swapchain->backBuffer[0], (IWineD3DBase *) Swapchain);
             ((IWineD3DSurfaceImpl *)Swapchain->backBuffer[0])->Flags |= SFLAG_SWAPCHAIN;
+            Swapchain->presentParms.BackBufferWidth = BackImpl->currentDesc.Width;
+            Swapchain->presentParms.BackBufferHeight = BackImpl->currentDesc.Height;
+            Swapchain->presentParms.BackBufferFormat = BackImpl->resource.format_desc->format;
         } else {
             HeapFree(GetProcessHeap(), 0, Swapchain->backBuffer);
             Swapchain->backBuffer = NULL;
-- 
1.6.4.4




More information about the wine-patches mailing list