diff --git a/src/PipelineStatusView.cpp b/src/PipelineStatusView.cpp index 6d4fb28d0..2f077a1c0 100644 --- a/src/PipelineStatusView.cpp +++ b/src/PipelineStatusView.cpp @@ -78,8 +78,6 @@ PipelineStatusView::PipelineStatusView( AnimatedSplitter* parent ) void PipelineStatusView::onPipelineUpdate( const query_ptr& query ) { - tDebug() << Q_FUNC_INFO << query.isNull(); - QTreeWidgetItem* ti = m_tree->invisibleRootItem()->child( 0 ); if ( Pipeline::instance()->activeQueryCount() && !query.isNull() ) diff --git a/src/libtomahawk/source.cpp b/src/libtomahawk/source.cpp index 24e7aaa37..148e53510 100644 --- a/src/libtomahawk/source.cpp +++ b/src/libtomahawk/source.cpp @@ -42,6 +42,8 @@ Source::Source( int id, const QString& username ) , m_username( username ) , m_id( id ) , m_cc( 0 ) + , m_avatar( 0 ) + , m_fancyAvatar( 0 ) { qDebug() << Q_FUNC_INFO << id << username; @@ -62,6 +64,8 @@ Source::Source( int id, const QString& username ) Source::~Source() { qDebug() << Q_FUNC_INFO << friendlyName(); + delete m_avatar; + delete m_fancyAvatar; } @@ -122,22 +126,21 @@ Source::friendlyName() const void Source::setAvatar( const QPixmap& avatar ) { - m_avatar = avatar; + delete m_avatar; + m_avatar = new QPixmap( avatar ); } QPixmap Source::avatar( AvatarStyle style ) const { - if ( style == FancyStyle && - !m_avatar.isNull() && - m_fancyAvatar.isNull() ) - m_fancyAvatar = TomahawkUtils::createAvatarFrame( m_avatar ); + if ( style == FancyStyle && m_avatar && !m_fancyAvatar ) + m_fancyAvatar = new QPixmap( TomahawkUtils::createAvatarFrame( QPixmap( *m_avatar ) ) ); - if ( style == Original && !m_avatar.isNull() ) - return m_avatar; - else if ( style == FancyStyle && !m_fancyAvatar.isNull() ) - return m_fancyAvatar; + if ( style == Original && m_avatar ) + return QPixmap( *m_avatar ); + else if ( style == FancyStyle && m_fancyAvatar ) + return QPixmap( *m_fancyAvatar ); else return QPixmap(); } diff --git a/src/libtomahawk/source.h b/src/libtomahawk/source.h index d368db784..655ea44d8 100644 --- a/src/libtomahawk/source.h +++ b/src/libtomahawk/source.h @@ -133,8 +133,8 @@ private: ControlConnection* m_cc; - QPixmap m_avatar; - mutable QPixmap m_fancyAvatar; + QPixmap* m_avatar; + mutable QPixmap* m_fancyAvatar; Tomahawk::playlistinterface_ptr m_playlistInterface; }; diff --git a/src/libtomahawk/utils/logger.cpp b/src/libtomahawk/utils/logger.cpp index 522fa68b1..44420934b 100644 --- a/src/libtomahawk/utils/logger.cpp +++ b/src/libtomahawk/utils/logger.cpp @@ -85,6 +85,9 @@ TomahawkLogHandler( QtMsgType type, const char *msg ) { static QMutex s_mutex; + if ( strstr( msg, "Pixmap" ) ) + Q_ASSERT( false ); + QMutexLocker locker( &s_mutex ); switch( type ) { diff --git a/src/libtomahawk/utils/tomahawkutils.cpp b/src/libtomahawk/utils/tomahawkutils.cpp index 950e76ebe..3c792f63e 100644 --- a/src/libtomahawk/utils/tomahawkutils.cpp +++ b/src/libtomahawk/utils/tomahawkutils.cpp @@ -505,13 +505,15 @@ setNam( QNetworkAccessManager* nam ) s_nam = QWeakPointer< QNetworkAccessManager >( nam ); } + #ifndef Q_OS_MAC void -bringToFront() { - +bringToFront() +{ } #endif + QPixmap createAvatarFrame( const QPixmap &avatar ) { diff --git a/src/libtomahawk/utils/tomahawkutils.h b/src/libtomahawk/utils/tomahawkutils.h index 238e63143..aef43d509 100644 --- a/src/libtomahawk/utils/tomahawkutils.h +++ b/src/libtomahawk/utils/tomahawkutils.h @@ -89,7 +89,7 @@ namespace TomahawkUtils /// Platform-specific bringing tomahawk mainwindow to front, b/c qt's activate() and such don't seem to work well enough for us DLLEXPORT void bringToFront(); - DLLEXPORT QPixmap createAvatarFrame(const QPixmap &avatar); + DLLEXPORT QPixmap createAvatarFrame( const QPixmap &avatar ); } #endif // TOMAHAWKUTILS_H diff --git a/src/sourcetree/items/collectionitem.cpp b/src/sourcetree/items/collectionitem.cpp index 644498940..fcc83bc21 100644 --- a/src/sourcetree/items/collectionitem.cpp +++ b/src/sourcetree/items/collectionitem.cpp @@ -46,7 +46,6 @@ CollectionItem::CollectionItem( SourcesModel* mdl, SourceTreeItem* parent, cons , m_coolPlaylistsPage( 0 ) , m_lovedTracksPage( 0 ) { - m_lovedTracksItem = new GenericPageItem( model(), this, ( m_source.isNull() ? tr( "Top Loved Tracks" ) : tr( "Loved Tracks" ) ), QIcon( RESPATH "images/loved_playlist.png" ), boost::bind( &CollectionItem::lovedTracksClicked, this ), boost::bind( &CollectionItem::getLovedTracksPage, this )