diff --git a/plugins/defaultTools/defaulttool/ShapeMoveStrategy.h b/plugins/defaultTools/defaulttool/ShapeMoveStrategy.h --- a/plugins/defaultTools/defaulttool/ShapeMoveStrategy.h +++ b/plugins/defaultTools/defaulttool/ShapeMoveStrategy.h @@ -59,6 +59,7 @@ QPointF m_start, m_diff, m_initialSelectionPosition, m_initialOffset; QList m_selectedShapes; KoCanvasBase *m_canvas; + bool m_firstMove; }; #endif diff --git a/plugins/defaultTools/defaulttool/ShapeMoveStrategy.cpp b/plugins/defaultTools/defaulttool/ShapeMoveStrategy.cpp --- a/plugins/defaultTools/defaulttool/ShapeMoveStrategy.cpp +++ b/plugins/defaultTools/defaulttool/ShapeMoveStrategy.cpp @@ -37,6 +37,7 @@ : KoInteractionStrategy(tool) , m_start(clicked) , m_canvas(tool->canvas()) + , m_firstMove(true) { QList selectedShapes = m_canvas->shapeManager()->selection()->selectedShapes(KoFlake::StrippedSelection); QRectF boundingRect; @@ -60,6 +61,13 @@ { if(m_selectedShapes.isEmpty()) return; + + if (m_firstMove) { + // skip first move to avoid accidental move during mouse button press + m_firstMove = false; + return; + } + QPointF diff = point - m_start; if (modifiers & (Qt::AltModifier | Qt::ControlModifier)) {