Module: wine Branch: master Commit: 7c5f60f2d8bf71a357f3823a55efea116ef055f7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c5f60f2d8bf71a357f3823a55...
Author: Józef Kucia jkucia@codeweavers.com Date: Sun Aug 28 22:30:53 2016 +0200
dxgi: Update swapchain fullscreen state when state change is successful.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dxgi/swapchain.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c index 7b02b3e..a759885 100644 --- a/dlls/dxgi/swapchain.c +++ b/dlls/dxgi/swapchain.c @@ -229,17 +229,24 @@ static HRESULT STDMETHODCALLTYPE DECLSPEC_HOTPATCH dxgi_swapchain_SetFullscreenS } }
- swapchain->fullscreen = fullscreen; - if (swapchain->target) - IDXGIOutput_Release(swapchain->target); - swapchain->target = target; - wined3d_mutex_lock(); wined3d_swapchain_get_desc(swapchain->wined3d_swapchain, &swapchain_desc); swapchain_desc.windowed = !fullscreen; hr = wined3d_swapchain_set_fullscreen(swapchain->wined3d_swapchain, &swapchain_desc, NULL); wined3d_mutex_unlock();
+ if (SUCCEEDED(hr)) + { + swapchain->fullscreen = fullscreen; + if (swapchain->target) + IDXGIOutput_Release(swapchain->target); + swapchain->target = target; + } + else + { + IDXGIOutput_Release(target); + } + return hr; }