From 7208ef481fb4562ef15974da4f36d05f3558b612 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Thu, 27 Jun 2019 00:24:09 +0100 Subject: [PATCH] Don't confuse a pasted pin with being synchronized. It's only at the same location because it was copied from there. Fixes: lp:1834377 * https://bugs.launchpad.net/kicad/+bug/1834377 --- eeschema/tools/lib_move_tool.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eeschema/tools/lib_move_tool.cpp b/eeschema/tools/lib_move_tool.cpp index b8538dab46..2d1a79342f 100644 --- a/eeschema/tools/lib_move_tool.cpp +++ b/eeschema/tools/lib_move_tool.cpp @@ -109,8 +109,11 @@ int LIB_MOVE_TOOL::Main( const TOOL_EVENT& aEvent ) { // Pick up any synchronized pins // + // Careful when pasting. The pasted pin will be at the same location as it + // was copied from, leading us to believe it's a synchronized pin. It's not. if( selection.GetSize() == 1 && selection.Front()->Type() == LIB_PIN_T - && m_frame->SynchronizePins() ) + && m_frame->SynchronizePins() + && ( selection.Front()->GetEditFlags() & IS_PASTED ) == 0 ) { LIB_PIN* cur_pin = (LIB_PIN*) selection.Front(); LIB_PART* part = m_frame->GetCurPart();