diff --git a/src/libtomahawk/resolvers/JSResolver.cpp b/src/libtomahawk/resolvers/JSResolver.cpp index 7a104c5f0..805d8e540 100644 --- a/src/libtomahawk/resolvers/JSResolver.cpp +++ b/src/libtomahawk/resolvers/JSResolver.cpp @@ -541,7 +541,6 @@ void JSResolver::resolve( const Tomahawk::query_ptr& query ) { ScriptJob* job = scriptAccount()->resolve( scriptObject(), query, "resolver" ); - connect( job, SIGNAL( done( QVariantMap ) ), SLOT( onResolveRequestDone( QVariantMap ) ) ); job->start(); @@ -563,11 +562,17 @@ JSResolver::onResolveRequestDone( const QVariantMap& data ) } else { - QList< artist_ptr > artists = scriptAccount()->parseArtistVariantList( data.value( "artists" ).toList() ); - Tomahawk::Pipeline::instance()->reportArtists( qid, artists ); + if ( !data.value( "artists" ).isNull() ) + { + QList< artist_ptr > artists = scriptAccount()->parseArtistVariantList( data.value( "artists" ).toList() ); + Tomahawk::Pipeline::instance()->reportArtists( qid, artists ); + } - QList< album_ptr > albums = scriptAccount()->parseAlbumVariantList( data.value( "albums" ).toList() ); - Tomahawk::Pipeline::instance()->reportAlbums( qid, albums ); + if ( !data.value( "albums" ).isNull() ) + { + QList< album_ptr > albums = scriptAccount()->parseAlbumVariantList( data.value( "albums" ).toList() ); + Tomahawk::Pipeline::instance()->reportAlbums( qid, albums ); + } QList< Tomahawk::result_ptr > results = scriptAccount()->parseResultVariantList( data.value( "tracks" ).toList() ); foreach( const result_ptr& result, results )