Index: xbmc/interfaces/Builtins.cpp =================================================================== --- xbmc/interfaces/Builtins.cpp (revision 33027) +++ xbmc/interfaces/Builtins.cpp (working copy) @@ -430,8 +430,10 @@ g_application.ResetScreenSaver(); g_application.ResetScreenSaverWindow(); - // ask if we need to check guisettings to resume - bool askToResume = true; + // Resume? (init) + int videoResume = g_guiSettings.GetInt("videoplayer.resumeautomatically"); + + // Params... for (unsigned int i = 1 ; i < params.size() ; i++) { if (params[i].Equals("isdir")) @@ -440,14 +442,12 @@ g_settings.m_bStartVideoWindowed = true; else if (params[i].Equals("resume")) { - // force the item to resume (if applicable) (see CApplication::PlayMedia) - item.m_lStartOffset = STARTOFFSET_RESUME; - askToResume = false; + videoResume = RESUME_YES; } else if (params[i].Equals("noresume")) { // force the item to start at the beginning (m_lStartOffset is initialized to 0) - askToResume = false; + videoResume = RESUME_NO; } else if (params[i].Left(11).Equals("playoffset=")) item.SetProperty("playlist_starting_track", atoi(params[i].Mid(11)) - 1); @@ -456,11 +456,19 @@ if (!item.m_bIsFolder && item.IsPlugin()) item.SetProperty("IsPlayable", true); - if ( askToResume == true ) + // Resume automatically (if the case)... + if (videoResume == RESUME_YES) + { + // force the item to resume (if applicable) (see CApplication::PlayMedia) + item.m_lStartOffset = STARTOFFSET_RESUME; + } + // Ask to resume... + else if (videoResume == RESUME_ASK) { if ( CGUIWindowVideoBase::OnResumeShowMenu(item) == false ) return false; } + if (item.m_bIsFolder) { CFileItemList items; @@ -1305,4 +1313,4 @@ else return -1; return 0; -} \ No newline at end of file +}