diff --git a/src/libtomahawk/Album.cpp b/src/libtomahawk/Album.cpp index eba5eb3d7..5806e3ffd 100644 --- a/src/libtomahawk/Album.cpp +++ b/src/libtomahawk/Album.cpp @@ -27,6 +27,7 @@ #include "Query.h" #include "Source.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include <QReadWriteLock> @@ -229,8 +230,11 @@ Album::cover( const QSize& size, bool forceLoad ) const if ( !m_cover && !m_coverBuffer.isEmpty() ) { - m_cover = new QPixmap(); - m_cover->loadFromData( m_coverBuffer ); + QPixmap cover; + cover.loadFromData( m_coverBuffer ); + m_coverBuffer.clear(); + + m_cover = new QPixmap( TomahawkUtils::squareCenterPixmap( cover ) ); } if ( m_cover && !m_cover->isNull() && !size.isEmpty() ) diff --git a/src/libtomahawk/Album.h b/src/libtomahawk/Album.h index c9112568a..2eb2abb49 100644 --- a/src/libtomahawk/Album.h +++ b/src/libtomahawk/Album.h @@ -93,12 +93,12 @@ private: QString m_sortname; artist_ptr m_artist; - QByteArray m_coverBuffer; bool m_coverLoaded; mutable bool m_coverLoading; mutable QString m_uuid; + mutable QByteArray m_coverBuffer; #ifndef ENABLE_HEADLESS mutable QPixmap* m_cover; mutable QHash< int, QPixmap > m_coverCache;