From a8d5d9b69083eacae80c0c6908221339b50e36b9 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. --- 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 734b92ee23..c9f660a565 100644 --- a/eeschema/dialogs/panel_sym_lib_table.cpp +++ b/eeschema/dialogs/panel_sym_lib_table.cpp @@ -567,7 +567,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 87fc6bb571..c650e85cdd 100644 --- a/pcbnew/dialogs/panel_fp_lib_table.cpp +++ b/pcbnew/dialogs/panel_fp_lib_table.cpp @@ -660,7 +660,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 ); }