aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breuer <git@jmbreuer.net>2013-07-07 11:39:00 +0200
committerJoachim Breuer <git@jmbreuer.net>2013-07-09 09:04:56 +0200
commitc880c7d17c072e1a0510c375a6208217e8995fb1 (patch)
tree4739d962ecbe3f2b26e10472472302d0a08cb63c
parent93269a7559ad17992d95df347ab0e62c85435317 (diff)
Get and use correct (removable://) file record from database
Fixes DVD resume after resume details already exist
-rw-r--r--xbmc/GUIInfoManager.cpp6
-rw-r--r--xbmc/interfaces/AnnouncementManager.cpp6
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();