From ee2670b813dd8d339e8e45c31f3b52e38487a817 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 21 Jul 2012 14:14:45 +0200 Subject: [PATCH] * Mutex protect hash access. --- src/libtomahawk/Album.cpp | 11 +++++++---- src/libtomahawk/Artist.cpp | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/libtomahawk/Album.cpp b/src/libtomahawk/Album.cpp index 947441523..796d56b86 100644 --- a/src/libtomahawk/Album.cpp +++ b/src/libtomahawk/Album.cpp @@ -295,10 +295,13 @@ Album::infoSystemInfo( const Tomahawk::InfoSystem::InfoRequestData& requestData, m_coverBuffer = ba; } - m_coverLoaded = true; - s_albumsByCoverId.remove( coverId() ); - m_coverId = uuid(); - s_albumsByCoverId[ m_coverId ] = m_ownRef.toStrongRef(); + { + QMutexLocker lock( &s_mutex ); + m_coverLoaded = true; + s_albumsByCoverId.remove( coverId() ); + m_coverId = uuid(); + s_albumsByCoverId[ m_coverId ] = m_ownRef.toStrongRef(); + } emit coverChanged(); } } diff --git a/src/libtomahawk/Artist.cpp b/src/libtomahawk/Artist.cpp index 8b8fbe90d..6d8dcb9f9 100644 --- a/src/libtomahawk/Artist.cpp +++ b/src/libtomahawk/Artist.cpp @@ -428,10 +428,13 @@ Artist::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVari m_coverBuffer = ba; } - m_coverLoaded = true; - s_artistsByCoverId.remove( coverId() ); - m_coverId = uuid(); - s_artistsByCoverId[ m_coverId ] = m_ownRef.toStrongRef(); + { + QMutexLocker lock( &s_mutex ); + m_coverLoaded = true; + s_artistsByCoverId.remove( coverId() ); + m_coverId = uuid(); + s_artistsByCoverId[ m_coverId ] = m_ownRef.toStrongRef(); + } emit coverChanged(); }