diff --git a/src/libtomahawk/album.cpp b/src/libtomahawk/album.cpp index 1ea9fe8c1..f4258c21b 100644 --- a/src/libtomahawk/album.cpp +++ b/src/libtomahawk/album.cpp @@ -174,12 +174,13 @@ Album::infoSystemInfo( const Tomahawk::InfoSystem::InfoRequestData& requestData, return; } - if ( !output.isNull() && output.isValid() ) + if ( !output.isNull() && output.isValid() && !m_infoLoaded ) { QVariantMap returnedData = output.value< QVariantMap >(); const QByteArray ba = returnedData["imgbytes"].toByteArray(); if ( ba.length() ) { + m_infoLoaded = true; m_coverBuffer = ba; emit coverChanged(); @@ -200,8 +201,8 @@ Album::infoSystemFinished( const QString& target ) disconnect( Tomahawk::InfoSystem::InfoSystem::instance(), SIGNAL( finished( QString ) ), this, SLOT( infoSystemFinished( QString ) ) ); - m_infoLoaded = true; - emit updated(); + if ( m_infoLoaded ) + emit updated(); } diff --git a/src/libtomahawk/artist.cpp b/src/libtomahawk/artist.cpp index f2830ff0e..f0d4c0cf7 100644 --- a/src/libtomahawk/artist.cpp +++ b/src/libtomahawk/artist.cpp @@ -170,7 +170,9 @@ Artist::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVari const QByteArray ba = returnedData["imgbytes"].toByteArray(); if ( ba.length() ) { + m_infoLoaded = true; m_coverBuffer = ba; + emit coverChanged(); } } @@ -191,8 +193,8 @@ Artist::infoSystemFinished( QString target ) disconnect( Tomahawk::InfoSystem::InfoSystem::instance(), SIGNAL( finished( QString ) ), this, SLOT( infoSystemFinished( QString ) ) ); - m_infoLoaded = true; - emit updated(); + if ( m_infoLoaded ) + emit updated(); }