aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xbmc/utils/Observer.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/xbmc/utils/Observer.cpp b/xbmc/utils/Observer.cpp
index d930d61b50..bbbf03a426 100644
--- a/xbmc/utils/Observer.cpp
+++ b/xbmc/utils/Observer.cpp
@@ -52,7 +52,9 @@ void Observable::RegisterObserver(Observer *obs)
void Observable::UnregisterObserver(Observer *obs)
{
CSingleLock lock(m_obsCritSection);
- std::remove(m_observers.begin(), m_observers.end(), obs);
+ auto iter = std::remove(m_observers.begin(), m_observers.end(), obs);
+ if (iter != m_observers.end())
+ m_observers.erase(iter);
}
void Observable::NotifyObservers(const ObservableMessage message /* = ObservableMessageNone */)