VideoConfig: Ignore Borderless Fullscreen setting when the backend does not support exclusive fullscreen.
This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
This commit is contained in:
parent
5bbd34637b
commit
3b5625c76b
|
@ -1189,7 +1189,7 @@ void CFrame::OnMouse(wxMouseEvent& event)
|
|||
|
||||
void CFrame::DoFullscreen(bool enable_fullscreen)
|
||||
{
|
||||
if (!g_Config.bBorderlessFullscreen &&
|
||||
if (!g_Config.BorderlessFullscreenEnabled() &&
|
||||
!SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain &&
|
||||
Core::GetState() == Core::CORE_PAUSE)
|
||||
{
|
||||
|
@ -1216,7 +1216,7 @@ void CFrame::DoFullscreen(bool enable_fullscreen)
|
|||
{
|
||||
m_RenderFrame->ShowFullScreen(true, wxFULLSCREEN_ALL);
|
||||
}
|
||||
else if (g_Config.bBorderlessFullscreen ||
|
||||
else if (g_Config.BorderlessFullscreenEnabled() ||
|
||||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
|
||||
{
|
||||
// Exiting exclusive fullscreen should be done from a Renderer callback.
|
||||
|
@ -1244,7 +1244,7 @@ void CFrame::DoFullscreen(bool enable_fullscreen)
|
|||
m_RenderFrame->Raise();
|
||||
}
|
||||
|
||||
g_Config.bFullscreen = (g_Config.bBorderlessFullscreen ||
|
||||
g_Config.bFullscreen = (g_Config.BorderlessFullscreenEnabled() ||
|
||||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain) ? false : enable_fullscreen;
|
||||
}
|
||||
|
||||
|
|
|
@ -1104,7 +1104,7 @@ void CFrame::DoStop()
|
|||
|
||||
// If exclusive fullscreen is not enabled then we can pause the emulation
|
||||
// before we've exited fullscreen. If not then we need to exit fullscreen first.
|
||||
if (!RendererIsFullscreen() || g_Config.bBorderlessFullscreen ||
|
||||
if (!RendererIsFullscreen() || g_Config.BorderlessFullscreenEnabled() ||
|
||||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
|
||||
{
|
||||
Core::SetState(Core::CORE_PAUSE);
|
||||
|
|
|
@ -209,7 +209,7 @@ void VideoConfig::VerifyValidity()
|
|||
// TODO: Check iMaxAnisotropy value
|
||||
if (iAdapter < 0 || iAdapter > ((int)backend_info.Adapters.size() - 1)) iAdapter = 0;
|
||||
if (iMultisampleMode < 0 || iMultisampleMode >= (int)backend_info.AAModes.size()) iMultisampleMode = 0;
|
||||
if (!backend_info.bSupportsExclusiveFullscreen) bBorderlessFullscreen = true;
|
||||
if (!backend_info.bSupportsExclusiveFullscreen) bBorderlessFullscreen = false;
|
||||
}
|
||||
|
||||
void VideoConfig::Save(const std::string& ini_file)
|
||||
|
|
|
@ -152,6 +152,7 @@ struct VideoConfig final
|
|||
bool VirtualXFBEnabled() const { return bUseXFB && !bUseRealXFB; }
|
||||
bool EFBCopiesToTextureEnabled() const { return bEFBCopyEnable && bCopyEFBToTexture; }
|
||||
bool EFBCopiesToRamEnabled() const { return bEFBCopyEnable && !bCopyEFBToTexture; }
|
||||
bool BorderlessFullscreenEnabled() const { return !backend_info.bSupportsExclusiveFullscreen || bBorderlessFullscreen; }
|
||||
};
|
||||
|
||||
extern VideoConfig g_Config;
|
||||
|
|
Loading…
Reference in New Issue