xbmc: fix PR2890, this fixes #2466

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2013-07-13 15:42:18 +02:00
parent c2ff6267a7
commit 39b7eb8de6
2 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,68 @@
From 94817e6fa85e2e0b39d1f0f96795435a4256fe7b Mon Sep 17 00:00:00 2001
From: arnova <arnova@void.org>
Date: Sun, 7 Jul 2013 12:27:08 +0200
Subject: [PATCH] fixed: MusicInfoTag loader locked up after
9752e490e40e69d53e9dbb10a972dff533192570
---
xbmc/BackgroundInfoLoader.cpp | 6 +++++-
xbmc/BackgroundInfoLoader.h | 1 +
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/xbmc/BackgroundInfoLoader.cpp b/xbmc/BackgroundInfoLoader.cpp
index 8e488d0..1cd6e62 100644
--- a/xbmc/BackgroundInfoLoader.cpp
+++ b/xbmc/BackgroundInfoLoader.cpp
@@ -32,6 +32,7 @@
m_pObserver=NULL;
m_pProgressCallback=NULL;
m_pVecItems = NULL;
+ m_bIsLoading = false;
}
CBackgroundInfoLoader::~CBackgroundInfoLoader()
@@ -88,6 +89,7 @@ void CBackgroundInfoLoader::Run()
}
}
+ m_bIsLoading = false;
OnLoaderFinish();
}
catch (...)
@@ -110,6 +112,7 @@ void CBackgroundInfoLoader::Load(CFileItemList& items)
m_pVecItems = &items;
m_bStop = false;
+ m_bIsLoading = true;
m_thread = new CThread(this, "BackgroundLoader");
m_thread->Create();
@@ -136,11 +139,12 @@ void CBackgroundInfoLoader::StopThread()
}
m_vecItems.clear();
m_pVecItems = NULL;
+ m_bIsLoading = false;
}
bool CBackgroundInfoLoader::IsLoading()
{
- return m_thread != NULL;
+ return m_bIsLoading;
}
void CBackgroundInfoLoader::SetObserver(IBackgroundLoaderObserver* pObserver)
diff --git a/xbmc/BackgroundInfoLoader.h b/xbmc/BackgroundInfoLoader.h
index 3a214a3..3cf28db 100644
--- a/xbmc/BackgroundInfoLoader.h
+++ b/xbmc/BackgroundInfoLoader.h
@@ -63,6 +63,7 @@ class CBackgroundInfoLoader : public IRunnable
std::vector<CFileItemPtr> m_vecItems; // FileItemList would delete the items and we only want to keep a reference.
CCriticalSection m_lock;
+ volatile bool m_bIsLoading;
volatile bool m_bStop;
CThread *m_thread;
--
1.8.1.6

View File

@ -0,0 +1,31 @@
From fe1856c912e47a86081d08e25d95b2efcc3e14ac Mon Sep 17 00:00:00 2001
From: arnova <arnova@void.org>
Date: Mon, 8 Jul 2013 08:29:37 +0200
Subject: [PATCH] fixed: Little fixup for
94817e6fa85e2e0b39d1f0f96795435a4256fe7b (thanks JM)
---
xbmc/BackgroundInfoLoader.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/BackgroundInfoLoader.cpp b/xbmc/BackgroundInfoLoader.cpp
index 1cd6e62..43dfb49 100644
--- a/xbmc/BackgroundInfoLoader.cpp
+++ b/xbmc/BackgroundInfoLoader.cpp
@@ -89,11 +89,12 @@ void CBackgroundInfoLoader::Run()
}
}
- m_bIsLoading = false;
OnLoaderFinish();
+ m_bIsLoading = false;
}
catch (...)
{
+ m_bIsLoading = false;
CLog::Log(LOGERROR, "%s - Unhandled exception", __FUNCTION__);
}
}
--
1.8.1.6