From c880c7d17c072e1a0510c375a6208217e8995fb1 Mon Sep 17 00:00:00 2001 From: Joachim Breuer Date: Sun, 7 Jul 2013 11:39:00 +0200 Subject: Get and use correct (removable://) file record from database Fixes DVD resume after resume details already exist --- xbmc/GUIInfoManager.cpp | 6 +++++- 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(); -- cgit v1.2.3