diff options
author | Joachim Breuer <git@jmbreuer.net> | 2013-07-07 11:39:00 +0200 |
---|---|---|
committer | Joachim Breuer <git@jmbreuer.net> | 2013-07-09 09:04:56 +0200 |
commit | c880c7d17c072e1a0510c375a6208217e8995fb1 (patch) | |
tree | 4739d962ecbe3f2b26e10472472302d0a08cb63c | |
parent | 93269a7559ad17992d95df347ab0e62c85435317 (diff) |
Get and use correct (removable://) file record from database
Fixes DVD resume after resume details already exist
-rw-r--r-- | xbmc/GUIInfoManager.cpp | 6 | ||||
-rw-r--r-- | xbmc/interfaces/AnnouncementManager.cpp | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp index d16aecfd7a..7d90605379 100644 --- a/xbmc/GUIInfoManager.cpp +++ b/xbmc/GUIInfoManager.cpp @@ -3921,7 +3921,11 @@ void CGUIInfoManager::SetCurrentMovie(CFileItem &item) CVideoDatabase dbs; if (dbs.Open()) { - dbs.LoadVideoInfo(item.GetPath(), *m_currentFile->GetVideoInfoTag()); + CStdString path = item.GetPath(); + CStdString videoInfoTagPath(item.GetVideoInfoTag()->m_strFileNameAndPath); + if (videoInfoTagPath.Find("removable://") == 0) + path = videoInfoTagPath; + dbs.LoadVideoInfo(path, *m_currentFile->GetVideoInfoTag()); dbs.Close(); } } diff --git a/xbmc/interfaces/AnnouncementManager.cpp b/xbmc/interfaces/AnnouncementManager.cpp index 134b8588ee..160f391a83 100644 --- a/xbmc/interfaces/AnnouncementManager.cpp +++ b/xbmc/interfaces/AnnouncementManager.cpp @@ -120,7 +120,11 @@ void CAnnouncementManager::Announce(AnnouncementFlag flag, const char *sender, c CVideoDatabase videodatabase; if (videodatabase.Open()) { - if (videodatabase.LoadVideoInfo(item->GetPath(), *item->GetVideoInfoTag())) + CStdString path = item->GetPath(); + CStdString videoInfoTagPath(item->GetVideoInfoTag()->m_strFileNameAndPath); + if (videoInfoTagPath.Find("removable://") == 0) + path = videoInfoTagPath; + if (videodatabase.LoadVideoInfo(path, *item->GetVideoInfoTag())) id = item->GetVideoInfoTag()->m_iDbId; videodatabase.Close(); |