Ensure all selected items have their edit flags cleared after move.

Some sub-items like fields can be selected, and are not in the main item list.
Fixes #13435
https://gitlab.com/kicad/code/kicad/issues/13435
This commit is contained in:
jean-pierre charras 2023-01-08 11:52:21 +01:00
parent ae8bbcad32
commit 4d5c4c4ea8
1 changed files with 6 additions and 0 deletions

View File

@ -935,6 +935,11 @@ int SCH_MOVE_TOOL::Main( const TOOL_EVENT& aEvent )
for( EDA_ITEM* item : m_frame->GetScreen()->Items() ) for( EDA_ITEM* item : m_frame->GetScreen()->Items() )
item->ClearEditFlags(); item->ClearEditFlags();
// ensure any selected item not in screen main list (for instance symbol fields)
// has its edit flags cleared
for( EDA_ITEM* item : selectionCopy )
item->ClearEditFlags();
if( unselect ) if( unselect )
m_toolMgr->RunAction( EE_ACTIONS::clearSelection, true ); m_toolMgr->RunAction( EE_ACTIONS::clearSelection, true );
else else
@ -944,6 +949,7 @@ int SCH_MOVE_TOOL::Main( const TOOL_EVENT& aEvent )
m_lineConnectionCache.clear(); m_lineConnectionCache.clear();
m_moveInProgress = false; m_moveInProgress = false;
m_frame->PopTool( aEvent ); m_frame->PopTool( aEvent );
return 0; return 0;
} }