RE: Valgrind warning in wined3d/swapchain.c in IWineD3DSwapChainImpl_Destroy

2008-12-23 Thread Stefan Dösinger
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




Valgrind warning in wined3d/swapchain.c in IWineD3DSwapChainImpl_Destroy

2008-11-14 Thread Dan Kegel
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