XInitThreads();
#endif
- // we start in frontend
- m_bInBackground = false;
/* for now always keep this around */
#ifdef HAS_KARAOKE
void CApplication::Render()
{
// do not render if we are stopped or in background
- if (m_bStop || m_bInBackground)
+ if (m_bStop)
return;
MEASURE_FUNCTION;
CLog::Log(LOGNOTICE, "stop player");
m_pPlayer->ClosePlayer();
+ CAnnouncementManager::Deinitialize();
+
StopPVRManager();
StopServices();
//Sleep(5000);
{
// can only resume seek here, not dvdstate
CBookmark bookmark;
- if( dbs.GetResumeBookMark(item.GetPath(), bookmark) )
+ CStdString path = item.GetPath();
+ if (item.HasProperty("original_listitem_url") && URIUtils::IsPlugin(item.GetProperty("original_listitem_url").asString()))
+ path = item.GetProperty("original_listitem_url").asString();
+ if( dbs.GetResumeBookMark(path, bookmark) )
seconds = bookmark.timeInSeconds;
else
seconds = 0.0f;
should the playerState be required, it is fetched from the database.
See the note in CGUIWindowVideoBase::ShowResumeMenu.
*/
- if (item.HasVideoInfoTag() && item.GetVideoInfoTag()->m_resumePoint.IsSet())
- options.starttime = item.GetVideoInfoTag()->m_resumePoint.timeInSeconds;
+ if (item.IsResumePointSet())
+ options.starttime = item.GetCurrentResumeTime();
}
else if (item.HasVideoInfoTag())
{
void CApplication::CheckScreenSaverAndDPMS()
{
- if (m_bInBackground)
- return;
if (!m_dpmsIsActive)
g_Windowing.ResetOSScreensaver();
g_windowManager.ActivateWindow(WINDOW_SCREENSAVER);
}
-void CApplication::SetInBackground(bool background)
-{
- if (!background)
- {
- ResetScreenSaverTimer();
- }
- m_bInBackground = background;
-}
-
void CApplication::CheckShutdown()
{
// first check if we should reset the timer
CAEFactory::GarbageCollect();
+ // if we don't render the gui there's no reason to start the screensaver.
+ // that way the screensaver won't kick in if we maximize the XBMC window
+ // after the screensaver start time.
+ if(!m_renderGUI)
+ ResetScreenSaverTimer();
}
// Global Idle Time in Seconds