diff --git a/eeschema/lib_pin.cpp b/eeschema/lib_pin.cpp index 253c79ddda..fd13d19fc3 100644 --- a/eeschema/lib_pin.cpp +++ b/eeschema/lib_pin.cpp @@ -1183,6 +1183,10 @@ void LIB_PIN::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vectorMessageTextFromValue( pinpos.x, true ) ); aList.emplace_back( _( "Pos Y" ), aFrame->MessageTextFromValue( pinpos.y, true ) ); + + #if 0 // For debug purpose only + aList.emplace_back( _( "Flags" ), wxString::Format( "%8.8X", (long)GetFlags() ) ); + #endif } diff --git a/eeschema/tools/symbol_editor_move_tool.cpp b/eeschema/tools/symbol_editor_move_tool.cpp index b3cb0ceaa7..1784e7163a 100644 --- a/eeschema/tools/symbol_editor_move_tool.cpp +++ b/eeschema/tools/symbol_editor_move_tool.cpp @@ -317,8 +317,13 @@ int SYMBOL_EDITOR_MOVE_TOOL::Main( const TOOL_EVENT& aEvent ) try { - if( !pinTool->PlacePin( (LIB_PIN*) selection.Front() ) ) + LIB_PIN* curr_pin = (LIB_PIN*) selection.Front(); + // PlacePin() will clear the current selection, so we need to reset + // flags of the selected pin here: + if( !pinTool->PlacePin( curr_pin ) ) restore_state = true; + else + curr_pin->ClearEditFlags(); } catch( const boost::bad_pointer& e ) {