Hi,
I'm doing an mail purge and stumbled across this mail.
Can you try the attached patch?
> -Original Message-
> From: daniel.r.ke...@gmail.com [mailto:daniel.r.ke...@gmail.com] On
> Behalf Of Dan Kegel
> Sent: Saturday, November 15, 2008 5:30 AM
> To: Wine Devel
> Cc: Stefan Dösinger
> Subject: Valgrind warning in wined3d/swapchain.c in
> IWineD3DSwapChainImpl_Destroy
>
> Hi Stefan,
> you seem to have been in this code recently, could you have a look?
> This is a somewhat flaky error that happens about 80% of the time
> under heavy load on my quad core box.
> (This is valgrind's xml output format, it's pretty fluffy, sorry.)
>
> Thanks,
> Dan
>
>
>
> UninitCondition
> Conditional jump or move depends on uninitialised
> value(s)
>
>
> dlls/wined3d/wined3d.dll.so
> IWineD3DSwapChainImpl_Destroy
> dlls/wined3d
> swapchain.c
> 75
>
>
> dlls/d3d9/d3d9.dll.so
> IDirect3DSwapChain9Impl_Release
> dlls/d3d9
> swapchain.c
> 66
>
>
> dlls/d3d9/d3d9.dll.so
> D3D9CB_DestroySwapChain
> dlls/d3d9
> directx.c
> 427
>
>
> dlls/wined3d/wined3d.dll.so
> IWineD3DDeviceImpl_Uninit3D
> dlls/wined3d
> device.c
> 2426
>
>
> dlls/d3d9/d3d9.dll.so
> IDirect3DDevice9Impl_Release
> dlls/d3d9
> device.c
> 98
>
>
> dlls/d3d9/tests/d3d9_test.exe.so
> func_visual
> dlls/d3d9/tests
> visual.c
> 9960
>
>
> dlls/d3d9/tests/d3d9_test.exe.so
> run_test
> dlls/d3d9/tests/../../../include/wine
> test.h
> 452
>
>
> dlls/d3d9/tests/d3d9_test.exe.so
> main
> dlls/d3d9/tests/../../../include/wine
> test.h
> 502
>
>
>
>From 2d553d968be386deacd9998214776e8aa57c98a2 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger
Date: Mon, 22 Dec 2008 19:31:49 +0100
Subject: [PATCH] d3d9: Properly set AutoRestoreDisplayMode
It is set in CreateDevice, but WineD3D passes it back to d3d9 in the
CreateAdditionalSwapChain callback, which converts the wined3d structure back
to the d3d9 one and the value gets lost.
Spotted by valgrind.
---
dlls/d3d9/swapchain.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d9/swapchain.c b/dlls/d3d9/swapchain.c
index eabe366..9f86bea 100644
--- a/dlls/d3d9/swapchain.c
+++ b/dlls/d3d9/swapchain.c
@@ -227,6 +227,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE
localParameters.Flags = pPresentationParameters->Flags;
localParameters.FullScreen_RefreshRateInHz = pPresentationParameters->FullScreen_RefreshRateInHz;
localParameters.PresentationInterval= pPresentationParameters->PresentationInterval;
+localParameters.AutoRestoreDisplayMode = TRUE;
EnterCriticalSection(&d3d9_cs);
hrc = IWineD3DDevice_CreateSwapChain(This->WineD3DDevice, &localParameters, &object->wineD3DSwapChain, (IUnknown*)object, D3D9CB_CreateRenderTarget, D3D9CB_CreateDepthStencilSurface, SURFACE_OPENGL);
--
1.5.6.4