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