From dee2dad87479391ebd1f0160e98007f4c007673c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 28 Jun 2012 20:21:04 +0200 Subject: [PATCH] * Proper fix for QueryLabel's context menu. --- src/libtomahawk/widgets/QueryLabel.cpp | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index dd353c824..a71928206 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -509,23 +509,25 @@ QueryLabel::contextMenuEvent( QContextMenuEvent* event ) { m_contextMenu->clear(); - if ( m_result ) + switch( m_hoverType ) { - switch( m_hoverType ) + case Artist: { - case Artist: - m_contextMenu->setArtist( m_result->artist() ); - break; - case Album: - m_contextMenu->setAlbum( m_result->album() ); - break; - - default: - m_contextMenu->setQuery( m_query ); + artist_ptr artist = Artist::get( m_query->artist() ); + m_contextMenu->setArtist( artist ); + break; } + case Album: + { + artist_ptr artist = Artist::get( m_query->artist() ); + album_ptr album = Album::get( artist, m_query->album() ); + m_contextMenu->setAlbum( album ); + break; + } + + default: + m_contextMenu->setQuery( m_query ); } - else - m_contextMenu->setQuery( m_query ); m_contextMenu->exec( event->globalPos() ); }