From f7240a5d39cbe66afcdcd54b39bbfa38e4ec3f08 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Tue, 10 Jul 2012 23:31:58 -0400 Subject: [PATCH] Increased pointer safety (oops 19400) --- src/libtomahawk/Pipeline.cpp | 7 +++++++ src/libtomahawk/Query.cpp | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/libtomahawk/Pipeline.cpp b/src/libtomahawk/Pipeline.cpp index 6e12e5734..c378c2ef0 100644 --- a/src/libtomahawk/Pipeline.cpp +++ b/src/libtomahawk/Pipeline.cpp @@ -272,9 +272,16 @@ Pipeline::reportResults( QID qid, const QList< result_ptr >& results ) } const query_ptr& q = m_qids.value( qid ); + Q_ASSERT( !q.isNull() ); + if ( q.isNull() ) + return; + QList< result_ptr > cleanResults; foreach ( const result_ptr& r, results ) { + if ( r.isNull() ) + continue; + float score = q->howSimilar( r ); r->setScore( score ); if ( !q->isFullTextQuery() && score < MINSCORE ) diff --git a/src/libtomahawk/Query.cpp b/src/libtomahawk/Query.cpp index a8c7f7d7e..24b219d7d 100644 --- a/src/libtomahawk/Query.cpp +++ b/src/libtomahawk/Query.cpp @@ -498,6 +498,11 @@ Query::toString() const float Query::howSimilar( const Tomahawk::result_ptr& r ) { + Q_ASSERT( !r->artist().isNull() ); + Q_ASSERT( !r->album().isNull() ); + if ( r->artist().isNull() || r->album().isNull() ) + return 0.0; + // result values const QString rArtistname = r->artist()->sortname(); const QString rAlbumname = r->album()->sortname();