wined3d: Don't touch the window's focus or wndproc for windowed devices.
This commit is contained in:
parent
381fa8931f
commit
990c141052
|
@ -1383,13 +1383,16 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Init3D(IWineD3DDevice *iface,
|
||||||
if(This->d3d_initialized) return WINED3DERR_INVALIDCALL;
|
if(This->d3d_initialized) return WINED3DERR_INVALIDCALL;
|
||||||
if(!This->adapter->opengl) return WINED3DERR_INVALIDCALL;
|
if(!This->adapter->opengl) return WINED3DERR_INVALIDCALL;
|
||||||
|
|
||||||
This-> focus_window = This->createParms.hFocusWindow;
|
if (!pPresentationParameters->Windowed)
|
||||||
|
{
|
||||||
|
This->focus_window = This->createParms.hFocusWindow;
|
||||||
if (!This->focus_window) This->focus_window = pPresentationParameters->hDeviceWindow;
|
if (!This->focus_window) This->focus_window = pPresentationParameters->hDeviceWindow;
|
||||||
if (!wined3d_register_window(This->focus_window, This))
|
if (!wined3d_register_window(This->focus_window, This))
|
||||||
{
|
{
|
||||||
ERR("Failed to register window %p.\n", This->focus_window);
|
ERR("Failed to register window %p.\n", This->focus_window);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TRACE("(%p) : Creating stateblock\n", This);
|
TRACE("(%p) : Creating stateblock\n", This);
|
||||||
/* Creating the startup stateBlock - Note Special Case: 0 => Don't fill in yet! */
|
/* Creating the startup stateBlock - Note Special Case: 0 => Don't fill in yet! */
|
||||||
|
@ -1444,7 +1447,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Init3D(IWineD3DDevice *iface,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetFocus(This->focus_window);
|
if (This->focus_window) SetFocus(This->focus_window);
|
||||||
|
|
||||||
/* Setup the implicit swapchain. This also initializes a context. */
|
/* Setup the implicit swapchain. This also initializes a context. */
|
||||||
TRACE("Creating implicit swapchain\n");
|
TRACE("Creating implicit swapchain\n");
|
||||||
|
@ -1580,7 +1583,7 @@ err_out:
|
||||||
if (This->shader_priv) {
|
if (This->shader_priv) {
|
||||||
This->shader_backend->shader_free_private(iface);
|
This->shader_backend->shader_free_private(iface);
|
||||||
}
|
}
|
||||||
wined3d_unregister_window(This->focus_window);
|
if (This->focus_window) wined3d_unregister_window(This->focus_window);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1771,7 +1774,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Uninit3D(IWineD3DDevice *iface,
|
||||||
|
|
||||||
This->d3d_initialized = FALSE;
|
This->d3d_initialized = FALSE;
|
||||||
|
|
||||||
wined3d_unregister_window(This->focus_window);
|
if (This->focus_window) wined3d_unregister_window(This->focus_window);
|
||||||
|
|
||||||
return WINED3D_OK;
|
return WINED3D_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue