From 5837b35add2f9a480d7297b5a6674388625bce20 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Thu, 10 Jul 2014 22:43:15 +0200 Subject: [PATCH] Renderer: Restore exclusive mode after focus has been regained. --- Source/Core/VideoBackends/D3D/Render.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index 8741900261..40b431871b 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -939,7 +939,15 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl const bool windowResized = CheckForResize(); const bool fullscreen = g_ActiveConfig.bFullscreen; - const bool fsChanged = s_LastFS != fullscreen; + + bool fsChanged = s_LastFS != fullscreen; + + BOOL fsState; + if (SUCCEEDED(D3D::swapchain->GetFullscreenState(&fsState, nullptr)) && !!fsState != fullscreen) + { + // We should be in fullscreen, but we're not. Restore it when we regain focus. + fsChanged = Host_RendererHasFocus(); + } bool xfbchanged = false;