wined3d: The stateblock doesn't have a parent.
authorHenri Verbeet <hverbeet@codeweavers.com>
Fri, 30 Jul 2010 08:15:25 +0000 (10:15 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 30 Jul 2010 09:36:03 +0000 (11:36 +0200)
dlls/d3d8/device.c
dlls/d3d9/stateblock.c
dlls/ddraw/device.c
dlls/wined3d/device.c
include/wine/wined3d.idl

index 12ed0fbfd38df4fa6e107c6f861eb42ed1f298a9..fad94e4ba7e33e0a65ef0e239fe21a5044a5f5d5 100644 (file)
@@ -1415,8 +1415,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CreateStateBlock(IDirect3DDevice8 *if
     }
 
     wined3d_mutex_lock();
-    hr = IWineD3DDevice_CreateStateBlock(This->WineD3DDevice, (WINED3DSTATEBLOCKTYPE)Type,
-            &stateblock, NULL);
+    hr = IWineD3DDevice_CreateStateBlock(This->WineD3DDevice, (WINED3DSTATEBLOCKTYPE)Type, &stateblock);
     if (FAILED(hr))
     {
         wined3d_mutex_unlock();
index c4941db254b33c8205b739b6120147eeb6b39447..01a882eea542b70f5f8a4491739e5b6388a79fd4 100644 (file)
@@ -138,8 +138,8 @@ HRESULT stateblock_init(IDirect3DStateBlock9Impl *stateblock, IDirect3DDevice9Im
     else
     {
         wined3d_mutex_lock();
-        hr = IWineD3DDevice_CreateStateBlock(device->WineD3DDevice, (WINED3DSTATEBLOCKTYPE)type,
-                &stateblock->wineD3DStateBlock, (IUnknown *)stateblock);
+        hr = IWineD3DDevice_CreateStateBlock(device->WineD3DDevice,
+                (WINED3DSTATEBLOCKTYPE)type, &stateblock->wineD3DStateBlock);
         wined3d_mutex_unlock();
         if (FAILED(hr))
         {
index da6a5c42711b53606833ffc80cea7104ea16fcde..6cd0f8047f2a4ea8028c8118b97f67cb0496307a 100644 (file)
@@ -5927,7 +5927,7 @@ IDirect3DDeviceImpl_7_CreateStateBlock(IDirect3DDevice7 *iface,
     EnterCriticalSection(&ddraw_cs);
 
     /* The D3DSTATEBLOCKTYPE enum is fine here. */
-    hr = IWineD3DDevice_CreateStateBlock(This->wineD3DDevice, Type, &wined3d_sb, NULL);
+    hr = IWineD3DDevice_CreateStateBlock(This->wineD3DDevice, Type, &wined3d_sb);
     if (FAILED(hr))
     {
         WARN("Failed to create stateblock, hr %#x.\n", hr);
index 11a6b9a5183c23a6fcf7e323c50ed5092adadb8b..d74b1f49df301fb1f4b5652b8c0bb02072448021 100644 (file)
@@ -1012,7 +1012,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateIndexBuffer(IWineD3DDevice *iface
 }
 
 static HRESULT WINAPI IWineD3DDeviceImpl_CreateStateBlock(IWineD3DDevice *iface,
-        WINED3DSTATEBLOCKTYPE type, IWineD3DStateBlock **stateblock, IUnknown *parent)
+        WINED3DSTATEBLOCKTYPE type, IWineD3DStateBlock **stateblock)
 {
     IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
     IWineD3DStateBlockImpl *object;
@@ -1790,12 +1790,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Init3D(IWineD3DDevice *iface,
     if(!This->adapter->opengl) return WINED3DERR_INVALIDCALL;
 
     TRACE("(%p) : Creating stateblock\n", This);
-    /* Creating the startup stateBlock - Note Special Case: 0 => Don't fill in yet! */
-    hr = IWineD3DDevice_CreateStateBlock(iface,
-                                         WINED3DSBT_INIT,
-                                         (IWineD3DStateBlock **)&This->stateBlock,
-                                         NULL);
-    if (WINED3D_OK != hr) {   /* Note: No parent needed for initial internal stateblock */
+    hr = IWineD3DDevice_CreateStateBlock(iface, WINED3DSBT_INIT, (IWineD3DStateBlock **)&This->stateBlock);
+    if (FAILED(hr))
+    {
         WARN("Failed to create stateblock\n");
         goto err_out;
     }
@@ -4488,7 +4485,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_BeginStateBlock(IWineD3DDevice *iface)
 
     if (This->isRecordingState) return WINED3DERR_INVALIDCALL;
 
-    hr = IWineD3DDeviceImpl_CreateStateBlock(iface, WINED3DSBT_RECORDED, &stateblock, NULL);
+    hr = IWineD3DDeviceImpl_CreateStateBlock(iface, WINED3DSBT_RECORDED, &stateblock);
     if (FAILED(hr)) return hr;
 
     IWineD3DStateBlock_Release((IWineD3DStateBlock*)This->updateStateBlock);
@@ -6469,7 +6466,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE
     }
 
     /* Note: No parent needed for initial internal stateblock */
-    hr = IWineD3DDevice_CreateStateBlock(iface, WINED3DSBT_INIT, (IWineD3DStateBlock **)&This->stateBlock, NULL);
+    hr = IWineD3DDevice_CreateStateBlock(iface, WINED3DSBT_INIT, (IWineD3DStateBlock **)&This->stateBlock);
     if (FAILED(hr)) ERR("Resetting the stateblock failed with error 0x%08x\n", hr);
     else TRACE("Created stateblock %p\n", This->stateBlock);
     This->updateStateBlock = This->stateBlock;
index 7eebb3990ac0673c32cb651d4b33212ef3225a04..e15ea4d2741ba8332f3c00b57796ac7836b200fa 100644 (file)
@@ -2843,8 +2843,7 @@ interface IWineD3DDevice : IWineD3DBase
     );
     HRESULT CreateStateBlock(
         [in] WINED3DSTATEBLOCKTYPE type,
-        [out] IWineD3DStateBlock **stateblock,
-        [in] IUnknown *parent
+        [out] IWineD3DStateBlock **stateblock
     );
     HRESULT CreateSurface(
         [in] UINT width,