diff options
-rw-r--r-- | xbmc/guilib/GraphicContext.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/xbmc/guilib/GraphicContext.cpp b/xbmc/guilib/GraphicContext.cpp index 39b51ec9b3..880eeedcba 100644 --- a/xbmc/guilib/GraphicContext.cpp +++ b/xbmc/guilib/GraphicContext.cpp @@ -360,8 +360,20 @@ void CGraphicContext::SetFullScreenVideo(bool bOnOff) if (m_bFullScreenRoot) { - bool allowDesktopRes = CServiceBroker::GetSettings().GetInt(CSettings::SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE) == ADJUST_REFRESHRATE_ALWAYS; - if (m_bFullScreenVideo || (!allowDesktopRes && g_application.GetAppPlayer().IsPlayingVideo())) + bool bTriggerUpdateRes = false; + if (m_bFullScreenVideo) + bTriggerUpdateRes = true; + else + { + bool allowDesktopRes = CServiceBroker::GetSettings().GetInt(CSettings::SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE) == ADJUST_REFRESHRATE_ALWAYS; + if (!allowDesktopRes) + { + if (g_application.GetAppPlayer().IsPlayingVideo()) + bTriggerUpdateRes = true; + } + } + + if (bTriggerUpdateRes) g_application.GetAppPlayer().TriggerUpdateResolution(); else if (CDisplaySettings::GetInstance().GetCurrentResolution() > RES_DESKTOP) SetVideoResolution(CDisplaySettings::GetInstance().GetCurrentResolution(), false); |