Footprint editor crashes when deleting pads and undoing this command.

Fixes: lp:1701092
https://bugs.launchpad.net/kicad/+bug/1701092
This commit is contained in:
Seth Hillbrand 2017-06-29 20:39:11 +02:00 committed by jean-pierre charras
parent 4130083445
commit 8201e2cbff
2 changed files with 7 additions and 3 deletions

View File

@ -279,7 +279,9 @@ void BOARD_COMMIT::Push( const wxString& aMessage, bool aCreateUndoEntry )
if( TOOL_MANAGER* toolMgr = frame->GetToolManager() ) if( TOOL_MANAGER* toolMgr = frame->GetToolManager() )
toolMgr->PostEvent( { TC_MESSAGE, TA_MODEL_CHANGE, AS_GLOBAL } ); toolMgr->PostEvent( { TC_MESSAGE, TA_MODEL_CHANGE, AS_GLOBAL } );
connectivity->RecalculateRatsnest(); if ( !m_editModules )
connectivity->RecalculateRatsnest();
frame->OnModify(); frame->OnModify();
frame->UpdateMsgPanel(); frame->UpdateMsgPanel();
@ -377,7 +379,8 @@ void BOARD_COMMIT::Revert()
} }
} }
connectivity->RecalculateRatsnest(); if ( !m_editModules )
connectivity->RecalculateRatsnest();
clear(); clear();
} }

View File

@ -556,7 +556,8 @@ void PCB_BASE_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool
wxMessageBox( wxT( "Incomplete undo/redo operation: some items not found" ) ); wxMessageBox( wxT( "Incomplete undo/redo operation: some items not found" ) );
// Rebuild pointers and connectivity that can be changed. // Rebuild pointers and connectivity that can be changed.
if( reBuild_ratsnest || deep_reBuild_ratsnest ) // connectivity can be rebuilt only in the board editor frame
if( IsType( FRAME_PCB ) && ( reBuild_ratsnest || deep_reBuild_ratsnest ) )
{ {
Compile_Ratsnest( NULL, false ); Compile_Ratsnest( NULL, false );
} }