diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp index 97ee656c..727d49c3 100644 --- a/src/TerminalDisplay.cpp +++ b/src/TerminalDisplay.cpp @@ -574,9 +574,8 @@ void TerminalDisplay::hideDragTarget() update(); } -void TerminalDisplay::showDragTarget() +void TerminalDisplay::showDragTarget(const QPoint& cursorPos) { - auto cursorPos = mapFromGlobal(QCursor::pos()); using EdgeDistance = std::pair; auto closerToEdge = std::min( { diff --git a/src/TerminalDisplay.h b/src/TerminalDisplay.h index 1d30bfb0..ebf325a0 100644 --- a/src/TerminalDisplay.h +++ b/src/TerminalDisplay.h @@ -74,7 +74,7 @@ public: explicit TerminalDisplay(QWidget *parent = nullptr); ~TerminalDisplay() Q_DECL_OVERRIDE; - void showDragTarget(); + void showDragTarget(const QPoint& pos); void hideDragTarget(); void applyProfile(const Profile::Ptr& profile); diff --git a/src/ViewSplitter.cpp b/src/ViewSplitter.cpp index 7e31172c..4261e0cf 100644 --- a/src/ViewSplitter.cpp +++ b/src/ViewSplitter.cpp @@ -307,7 +307,8 @@ void Konsole::ViewSplitter::dragMoveEvent(QDragMoveEvent* ev) return; } currentDragTarget = terminal; - currentDragTarget->showDragTarget(); + auto localPos = currentDragTarget->mapFromParent(ev->pos()); + currentDragTarget->showDragTarget(localPos); } }