aboutsummaryrefslogtreecommitdiff
path: root/xbmc/application/Application.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/application/Application.cpp')
-rw-r--r--xbmc/application/Application.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp
index 6541a22759..9244fb2040 100644
--- a/xbmc/application/Application.cpp
+++ b/xbmc/application/Application.cpp
@@ -2286,7 +2286,10 @@ bool CApplication::PlayStack(CFileItem& item, bool bRestart)
return PlayFile(selectedStackPart, "", true);
}
-bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRestart)
+bool CApplication::PlayFile(CFileItem item,
+ const std::string& player,
+ bool bRestart /* = false */,
+ bool forceSelection /* = false */)
{
// Ensure the MIME type has been retrieved for http:// and shout:// streams
if (item.GetMimeType().empty())
@@ -2426,7 +2429,7 @@ bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRes
// a disc image might be Blu-Ray disc
if (!(options.startpercent > 0.0 || options.starttime > 0.0) &&
- (IsBDFile(item) || item.IsDiscImage()))
+ (IsBDFile(item) || item.IsDiscImage() || (IsBlurayPlaylist(item) && forceSelection)))
{
// No video selection when using external or remote players (they handle it if supported)
const bool isSimpleMenuAllowed = [&]()
@@ -2444,7 +2447,7 @@ bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRes
if (isSimpleMenuAllowed)
{
// Check if we must show the simplified bd menu.
- if (!CGUIDialogSimpleMenu::ShowPlaySelection(item))
+ if (!CGUIDialogSimpleMenu::ShowPlaySelection(item, forceSelection))
return true;
}
}