diff options
-rw-r--r-- | xbmc/utils/MarkWatchedJob.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/xbmc/utils/MarkWatchedJob.cpp b/xbmc/utils/MarkWatchedJob.cpp index 632e1dcf1a..054da5c124 100644 --- a/xbmc/utils/MarkWatchedJob.cpp +++ b/xbmc/utils/MarkWatchedJob.cpp @@ -94,8 +94,16 @@ bool CMarkWatchedJob::DoWork() { CFileItemPtr pItem = *iter; if (m_bMark) - database.ClearBookMarksOfFile(pItem->GetPath(), CBookmark::RESUME); - database.SetPlayCount(*pItem, m_bMark ? 1 : 0); + { + std::string path(pItem->GetPath()); + if (pItem->HasVideoInfoTag()) + path = pItem->GetVideoInfoTag()->GetPath(); + + database.ClearBookMarksOfFile(path, CBookmark::RESUME); + database.IncrementPlayCount(*pItem); + } + else + database.SetPlayCount(*pItem, 0); } database.CommitTransaction(); |