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(); }