d3d8: some 64-bit fixes

Austin English austinenglish at gmail.com
Sun Feb 22 22:05:51 CST 2009


-- 
-Austin
-------------- next part --------------
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 908a1a8..672babe 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -1236,14 +1236,14 @@ static HRESULT WINAPI IDirect3DDevice8Impl_EndStateBlock(LPDIRECT3DDEVICE8 iface
 
     object->wineD3DStateBlock = wineD3DStateBlock;
 
-    *pToken = (DWORD)object;
+    *pToken = (DWORD_PTR)object;
     TRACE("(%p)Returning %p %p\n", This, object, wineD3DStateBlock);
 
     LeaveCriticalSection(&d3d8_cs);
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DDevice8Impl_ApplyStateBlock(LPDIRECT3DDEVICE8 iface, DWORD Token) {
+static HRESULT WINAPI IDirect3DDevice8Impl_ApplyStateBlock(LPDIRECT3DDEVICE8 iface, DWORD_PTR Token) {
     IDirect3DStateBlock8Impl *pSB  = (IDirect3DStateBlock8Impl*) Token;
     IDirect3DDevice8Impl     *This = (IDirect3DDevice8Impl *)iface;
     HRESULT hr;
@@ -1256,7 +1256,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_ApplyStateBlock(LPDIRECT3DDEVICE8 ifa
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DDevice8Impl_CaptureStateBlock(LPDIRECT3DDEVICE8 iface, DWORD Token) {
+static HRESULT WINAPI IDirect3DDevice8Impl_CaptureStateBlock(LPDIRECT3DDEVICE8 iface, DWORD_PTR Token) {
     IDirect3DStateBlock8Impl* pSB = (IDirect3DStateBlock8Impl *)Token;
     IDirect3DDevice8Impl *This = (IDirect3DDevice8Impl *)iface;
     HRESULT hr;
@@ -1269,7 +1269,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CaptureStateBlock(LPDIRECT3DDEVICE8 i
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DDevice8Impl_DeleteStateBlock(LPDIRECT3DDEVICE8 iface, DWORD Token) {
+static HRESULT WINAPI IDirect3DDevice8Impl_DeleteStateBlock(LPDIRECT3DDEVICE8 iface, DWORD_PTR Token) {
     IDirect3DStateBlock8Impl* pSB = (IDirect3DStateBlock8Impl *)Token;
     IDirect3DDevice8Impl *This = (IDirect3DDevice8Impl *)iface;
 
@@ -1282,7 +1282,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DeleteStateBlock(LPDIRECT3DDEVICE8 if
     return D3D_OK;
 }
 
-static HRESULT WINAPI IDirect3DDevice8Impl_CreateStateBlock(LPDIRECT3DDEVICE8 iface, D3DSTATEBLOCKTYPE Type, DWORD* pToken) {
+static HRESULT WINAPI IDirect3DDevice8Impl_CreateStateBlock(LPDIRECT3DDEVICE8 iface, D3DSTATEBLOCKTYPE Type, DWORD_PTR* pToken) {
    IDirect3DDevice8Impl *This = (IDirect3DDevice8Impl *)iface;
    IDirect3DStateBlock8Impl *object;
    HRESULT hrc = D3D_OK;
@@ -1311,7 +1311,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CreateStateBlock(LPDIRECT3DDEVICE8 if
        HeapFree(GetProcessHeap(), 0, object);
        *pToken = 0;
    } else {
-       *pToken = (DWORD)object;
+       *pToken = (DWORD_PTR)object;
        TRACE("(%p) returning token (ptr to stateblock) of %p\n", This, object);
    }
 
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index 826061b..cf38e7f 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -292,7 +292,7 @@ static void test_refcount(void)
     IDirect3DSurface8           *pRenderTarget3     = NULL;
     IDirect3DSurface8           *pTextureLevel      = NULL;
     IDirect3DSurface8           *pBackBuffer        = NULL;
-    DWORD                       dStateBlock         = -1;
+    DWORD_PTR                   dStateBlock         = -1;
     IDirect3DSwapChain8         *pSwapChain         = NULL;
     D3DCAPS8                    caps;
 
diff --git a/include/d3d8.h b/include/d3d8.h
index 46e0812..135a198 100644
--- a/include/d3d8.h
+++ b/include/d3d8.h
@@ -883,10 +883,10 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
     STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE  State,DWORD * pValue) PURE;
     STDMETHOD(BeginStateBlock)(THIS) PURE;
     STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE;
-    STDMETHOD(ApplyStateBlock)(THIS_ DWORD  Token) PURE;
-    STDMETHOD(CaptureStateBlock)(THIS_ DWORD  Token) PURE;
-    STDMETHOD(DeleteStateBlock)(THIS_ DWORD  Token) PURE;
-    STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE  Type,DWORD * pToken) PURE;
+    STDMETHOD(ApplyStateBlock)(THIS_ DWORD_PTR  Token) PURE;
+    STDMETHOD(CaptureStateBlock)(THIS_ DWORD_PTR  Token) PURE;
+    STDMETHOD(DeleteStateBlock)(THIS_ DWORD_PTR  Token) PURE;
+    STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE  Type,DWORD_PTR * pToken) PURE;
     STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE;
     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE;
     STDMETHOD(GetTexture)(THIS_ DWORD  Stage,IDirect3DBaseTexture8 ** ppTexture) PURE;


More information about the wine-patches mailing list