From 0116740e54d3a6f612b0762be790ab5ac4da63d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haris=20Gu=C5=A1i=C4=87?= Date: Tue, 31 May 2022 16:56:52 +0200 Subject: [PATCH] Fix selection offset (#2630) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Haris Gušić --- src/widgets/capture/selectionwidget.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/widgets/capture/selectionwidget.cpp b/src/widgets/capture/selectionwidget.cpp index 51cfc102..13919d6f 100644 --- a/src/widgets/capture/selectionwidget.cpp +++ b/src/widgets/capture/selectionwidget.cpp @@ -203,14 +203,17 @@ void SelectionWidget::parentMouseMoveEvent(QMouseEvent* e) mouseSide = getMouseSide(e->pos()); } + QPoint pos; + if (!isVisible() || !mouseSide) { show(); - m_dragStartPos = e->pos(); m_activeSide = TOPLEFT_SIDE; - setGeometry({ e->pos(), e->pos() }); + pos = m_dragStartPos; + setGeometry({ pos, pos }); + } else { + pos = e->pos(); } - QPoint pos = e->pos(); auto geom = geometry(); bool symmetryMod = qApp->keyboardModifiers() & Qt::ShiftModifier; @@ -280,7 +283,7 @@ void SelectionWidget::parentMouseMoveEvent(QMouseEvent* e) setGeometry(geom.normalized()); m_activeSide = getProperSide(m_activeSide, geom); } - m_dragStartPos = pos; + m_dragStartPos = e->pos(); } void SelectionWidget::paintEvent(QPaintEvent*)