On 12/07/2009 12:14 PM, Henri Verbeet wrote:
2009/12/7 Paul Vriens<paul.vriens.w...@gmail.com>:
When I add the following (first thing):

BOOL is_wow64;

IsWow64Process( GetCurrentProcess(),&is_wow64 );

the tests crashes at DXGID3D10CreateDevice() in create_device().

I added that IsWow64Process() just to see if I was indeed running the 64bit
version of the test.

Any idea what's going on?

It's a bit hard to say without debug information like a backtrace and
register information, but maybe the prototype for
DXGID3D10CreateDevice() is wrong and the stack gets corrupted. An easy
thing to try would be changing the type of "arg5" from DWORD to a
pointer. I'd expect similar problems with D3D10CoreCreateDevice().

The attached does the trick. Is that what you meant?

--
Cheers,

Paul.
diff --git a/dlls/dxgi/tests/device.c b/dlls/dxgi/tests/device.c
index 32e87e6..41e872e 100644
--- a/dlls/dxgi/tests/device.c
+++ b/dlls/dxgi/tests/device.c
@@ -22,7 +22,7 @@
 #include "wine/test.h"
 
 HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory,
-        IDXGIAdapter *adapter, UINT flags, DWORD arg5, void **device);
+        IDXGIAdapter *adapter, UINT flags, DWORD_PTR arg5, void **device);
 
 static IDXGIDevice *create_device(HMODULE d3d10core)
 {


Reply via email to