summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Frame.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2014-07-21 17:55:21 +0200
committerJules Blok <jules.blok@gmail.com>2014-07-21 20:50:48 +0200
commit009b4dd3764a983ba5e9476383ea07430cdff8cb (patch)
treebadc57824d6cbeee451de230c473328a3addde08 /Source/Core/DolphinWX/Frame.cpp
parent36ea1890c8d1b6084a5bc2e80093878af400810a (diff)
Exit exclusive fullscreen when the stop confirmation is shown.
Also have the renderer remember its own fullscreen state. This is done to prevent a case where we exit exclusive fullscreen through the configuration and a focus shift at the same time. In this case the renderer would fail to detect that the fullscreen state was changed.
Diffstat (limited to 'Source/Core/DolphinWX/Frame.cpp')
-rw-r--r--Source/Core/DolphinWX/Frame.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp
index 25a09d13e1..d849324a9f 100644
--- a/Source/Core/DolphinWX/Frame.cpp
+++ b/Source/Core/DolphinWX/Frame.cpp
@@ -316,7 +316,7 @@ CFrame::CFrame(wxFrame* parent,
, m_LogWindow(nullptr), m_LogConfigWindow(nullptr)
, m_FifoPlayerDlg(nullptr), UseDebugger(_UseDebugger)
, m_bBatchMode(_BatchMode), m_bEdit(false), m_bTabSplit(false), m_bNoDocking(false)
- , m_bGameLoading(false), m_bClosing(false)
+ , m_bGameLoading(false), m_bClosing(false), m_confirmStop(false)
{
for (int i = 0; i <= IDM_CODEWINDOW - IDM_LOGWINDOW; i++)
bFloatWindow[i] = false;
@@ -643,6 +643,8 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
case IDM_FULLSCREENREQUEST:
if (m_RenderFrame != nullptr)
m_RenderFrame->ShowFullScreen(event.GetInt() == 0 ? false : true);
+ if (m_confirmStop)
+ Core::SetState(Core::CORE_PAUSE);
break;
case WM_USER_CREATE:
@@ -1194,9 +1196,8 @@ void CFrame::DoFullscreen(bool bF)
{
m_RenderFrame->ShowFullScreen(true, wxFULLSCREEN_ALL);
}
- else if (!g_ActiveConfig.backend_info.bSupportsExclusiveFullscreen ||
- SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain ||
- g_ActiveConfig.bForceBorderlessFullscreen)
+ else if (!g_Config.ExclusiveFullscreenEnabled() ||
+ SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
{
// Exiting exclusive fullscreen should be done from a Renderer callback.
// Therefore we don't exit fullscreen from here if we support exclusive mode.