diff --git a/src/libtomahawk/Album.cpp b/src/libtomahawk/Album.cpp index 740abc303..d43462bc2 100644 --- a/src/libtomahawk/Album.cpp +++ b/src/libtomahawk/Album.cpp @@ -320,10 +320,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 b3c1e14ed..80323f5f5 100644 --- a/src/libtomahawk/Artist.cpp +++ b/src/libtomahawk/Artist.cpp @@ -454,10 +454,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(); }