ddraw: Update the focus window after recreating the swapchain.
This commit is contained in:
parent
f8ce7ed978
commit
6560135c64
|
@ -814,10 +814,6 @@ static HRESULT WINAPI ddraw7_SetCooperativeLevel(IDirectDraw7 *iface, HWND windo
|
|||
This->focuswindow = NULL;
|
||||
}
|
||||
|
||||
if ((This->cooperative_level & DDSCL_EXCLUSIVE)
|
||||
&& (window != This->dest_window || !(cooplevel & DDSCL_EXCLUSIVE)))
|
||||
wined3d_device_release_focus_window(This->wined3d_device);
|
||||
|
||||
if ((cooplevel & DDSCL_FULLSCREEN) != (This->cooperative_level & DDSCL_FULLSCREEN) || window != This->dest_window)
|
||||
{
|
||||
if (This->cooperative_level & DDSCL_FULLSCREEN)
|
||||
|
@ -833,18 +829,6 @@ static HRESULT WINAPI ddraw7_SetCooperativeLevel(IDirectDraw7 *iface, HWND windo
|
|||
}
|
||||
}
|
||||
|
||||
if ((cooplevel & DDSCL_EXCLUSIVE)
|
||||
&& (window != This->dest_window || !(This->cooperative_level & DDSCL_EXCLUSIVE)))
|
||||
{
|
||||
hr = wined3d_device_acquire_focus_window(This->wined3d_device, window);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
ERR("Failed to acquire focus window, hr %#x.\n", hr);
|
||||
wined3d_mutex_unlock();
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
|
||||
if (cooplevel & DDSCL_MULTITHREADED && !(This->cooperative_level & DDSCL_MULTITHREADED))
|
||||
wined3d_device_set_multithreaded(This->wined3d_device);
|
||||
|
||||
|
@ -896,6 +880,22 @@ static HRESULT WINAPI ddraw7_SetCooperativeLevel(IDirectDraw7 *iface, HWND windo
|
|||
wined3d_stateblock_decref(stateblock);
|
||||
}
|
||||
|
||||
if ((This->cooperative_level & DDSCL_EXCLUSIVE)
|
||||
&& (window != This->dest_window || !(cooplevel & DDSCL_EXCLUSIVE)))
|
||||
wined3d_device_release_focus_window(This->wined3d_device);
|
||||
|
||||
if ((cooplevel & DDSCL_EXCLUSIVE)
|
||||
&& (window != This->dest_window || !(This->cooperative_level & DDSCL_EXCLUSIVE)))
|
||||
{
|
||||
hr = wined3d_device_acquire_focus_window(This->wined3d_device, window);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
ERR("Failed to acquire focus window, hr %#x.\n", hr);
|
||||
wined3d_mutex_unlock();
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
|
||||
/* Unhandled flags */
|
||||
if(cooplevel & DDSCL_ALLOWREBOOT)
|
||||
WARN("(%p) Unhandled flag DDSCL_ALLOWREBOOT, harmless\n", This);
|
||||
|
|
Loading…
Reference in New Issue