From 567ce48cc16e1b62379366d5cadeb035146ec47b Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sun, 14 Jun 2020 17:39:19 +0200 Subject: [PATCH] panel lib tables: avoid crash when deleting the last entry in list. From master branch --- eeschema/dialogs/panel_sym_lib_table.cpp | 3 ++- pcbnew/dialogs/panel_fp_lib_table.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/eeschema/dialogs/panel_sym_lib_table.cpp b/eeschema/dialogs/panel_sym_lib_table.cpp index f3f4554569..5fef5c06ce 100644 --- a/eeschema/dialogs/panel_sym_lib_table.cpp +++ b/eeschema/dialogs/panel_sym_lib_table.cpp @@ -507,7 +507,8 @@ void PANEL_SYM_LIB_TABLE::deleteRowHandler( wxCommandEvent& event ) } } - m_cur_grid->SetGridCursor( std::min( curRow, m_cur_grid->GetNumberRows() - 1 ), curCol ); + if( m_cur_grid->GetNumberRows() > 0 && curRow >= 0 ) + m_cur_grid->SetGridCursor( std::min( curRow, m_cur_grid->GetNumberRows() - 1 ), curCol ); } diff --git a/pcbnew/dialogs/panel_fp_lib_table.cpp b/pcbnew/dialogs/panel_fp_lib_table.cpp index d603cfc215..f6ce860634 100644 --- a/pcbnew/dialogs/panel_fp_lib_table.cpp +++ b/pcbnew/dialogs/panel_fp_lib_table.cpp @@ -543,7 +543,8 @@ void PANEL_FP_LIB_TABLE::deleteRowHandler( wxCommandEvent& event ) } } - m_cur_grid->SetGridCursor( std::min( curRow, m_cur_grid->GetNumberRows() - 1 ), curCol ); + if( m_cur_grid->GetNumberRows() > 0 && curRow >= 0 ) + m_cur_grid->SetGridCursor( std::min( curRow, m_cur_grid->GetNumberRows() - 1 ), curCol ); }