diff --git a/eeschema/tools/sch_move_tool.cpp b/eeschema/tools/sch_move_tool.cpp index 88b33b8a53..a3766ce5c0 100644 --- a/eeschema/tools/sch_move_tool.cpp +++ b/eeschema/tools/sch_move_tool.cpp @@ -304,12 +304,21 @@ int SCH_MOVE_TOOL::Main( const TOOL_EVENT& aEvent ) } else { - std::vector items; + if( m_frame->GetMoveWarpsCursor() ) + { + // User wants to warp the mouse + std::vector items; - for( EDA_ITEM* item : selection ) - items.push_back( static_cast( item ) ); + for( EDA_ITEM* item : selection ) + items.push_back( static_cast( item ) ); - m_cursor = grid.BestDragOrigin( m_cursor, items ); + m_cursor = grid.BestDragOrigin( m_cursor, items ); + } + else + { + // User does not want to warp the mouse + m_cursor = getViewControls()->GetCursorPosition( true ); + } }