diff --git a/eeschema/tools/symbol_editor_drawing_tools.cpp b/eeschema/tools/symbol_editor_drawing_tools.cpp index 2622e2afab..42a8136e16 100644 --- a/eeschema/tools/symbol_editor_drawing_tools.cpp +++ b/eeschema/tools/symbol_editor_drawing_tools.cpp @@ -57,6 +57,7 @@ SYMBOL_EDITOR_DRAWING_TOOLS::SYMBOL_EDITOR_DRAWING_TOOLS() : m_drawSpecificBodyStyle( true ), m_drawSpecificUnit( false ), m_inDrawShape( false ), + m_inPlaceAnchor( false ), m_inTwoClickPlace( false ) { } @@ -613,6 +614,11 @@ int SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape( const TOOL_EVENT& aEvent, std::opt int SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor( const TOOL_EVENT& aEvent ) { + if( m_inPlaceAnchor ) + return 0; + + REENTRANCY_GUARD guard( &m_inPlaceAnchor ); + m_frame->PushTool( aEvent ); auto setCursor = diff --git a/eeschema/tools/symbol_editor_drawing_tools.h b/eeschema/tools/symbol_editor_drawing_tools.h index 8fbc9256b3..5a909a9854 100644 --- a/eeschema/tools/symbol_editor_drawing_tools.h +++ b/eeschema/tools/symbol_editor_drawing_tools.h @@ -86,6 +86,7 @@ private: ///< Re-entrancy guards bool m_inDrawShape; + bool m_inPlaceAnchor; bool m_inTwoClickPlace; private: