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 ); + } } }