diff --git a/eeschema/widgets/search_handlers.h b/eeschema/widgets/search_handlers.h index 725aed8a98..e17aa9f10d 100644 --- a/eeschema/widgets/search_handlers.h +++ b/eeschema/widgets/search_handlers.h @@ -48,7 +48,15 @@ public: wxString GetResultCell( int aRow, int aCol ) override { - return getResultCell( m_hitlist[aRow], aCol ); + if( aRow >= m_hitlist.size() ) + return wxEmptyString; + + const SCH_SEARCH_HIT& hit = m_hitlist[aRow]; + + if( !hit.item ) + return wxEmptyString; + + return getResultCell( hit, aCol ); } void FindAll( const std::function& aCollector ); diff --git a/pcbnew/widgets/search_handlers.h b/pcbnew/widgets/search_handlers.h index 2cbd620ec5..ff88a1d7de 100644 --- a/pcbnew/widgets/search_handlers.h +++ b/pcbnew/widgets/search_handlers.h @@ -39,7 +39,15 @@ public: wxString GetResultCell( int aRow, int aCol ) override { - return getResultCell( m_hitlist[aRow], aCol ); + if( aRow >= m_hitlist.size() ) + return wxEmptyString; + + BOARD_ITEM* item = m_hitlist[aRow]; + + if( !item ) + return wxEmptyString; + + return getResultCell( item, aCol ); } void Sort( int aCol, bool aAscending ) override;