From f3ce3bc758d21dd9eb5e8a164f291a6ee4df66e6 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sun, 24 Mar 2024 10:08:59 +0000 Subject: [PATCH] Close active cell editor when showing/hiding columns. Fixes https://gitlab.com/kicad/code/kicad/-/issues/17425 --- common/grid_tricks.cpp | 2 +- eeschema/dialogs/dialog_symbol_fields_table.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/grid_tricks.cpp b/common/grid_tricks.cpp index 0ce6399d62..397c7c5452 100644 --- a/common/grid_tricks.cpp +++ b/common/grid_tricks.cpp @@ -445,7 +445,7 @@ void GRID_TRICKS::doPopupSelection( wxCommandEvent& event ) break; default: - if( menu_id >= GRIDTRICKS_FIRST_SHOWHIDE ) + if( menu_id >= GRIDTRICKS_FIRST_SHOWHIDE && m_grid->CommitPendingChanges( false ) ) { int col = menu_id - GRIDTRICKS_FIRST_SHOWHIDE; diff --git a/eeschema/dialogs/dialog_symbol_fields_table.cpp b/eeschema/dialogs/dialog_symbol_fields_table.cpp index 4a663f7bb8..49d7b12799 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table.cpp @@ -146,13 +146,17 @@ protected: { if( m_fieldsCtrl->GetTextValue( row, FIELD_NAME_COLUMN ) == fieldName ) { - m_fieldsCtrl->SetToggleValue( show, row, SHOW_FIELD_COLUMN ); + if( m_grid->CommitPendingChanges( false ) ) + m_fieldsCtrl->SetToggleValue( show, row, SHOW_FIELD_COLUMN ); + break; } } } else + { GRID_TRICKS::doPopupSelection( event ); + } } }