diff --git a/src/terminalDisplay/TerminalDisplay.cpp b/src/terminalDisplay/TerminalDisplay.cpp index 6f2742ae..7613cda7 100644 --- a/src/terminalDisplay/TerminalDisplay.cpp +++ b/src/terminalDisplay/TerminalDisplay.cpp @@ -1244,7 +1244,12 @@ void TerminalDisplay::mouseMoveEvent(QMouseEvent* ev) auto [charLine, charColumn] = getCharacterPosition(ev->pos(), !_usesMouseTracking); - if (charLine == _prevCharacterLine && charColumn == _prevCharacterColumn) { + // Ignore mouse movements that don't change the character position, + // but don't ignore the ones generated by AutoScrollHandler (which + // allow to extend the selection by dragging the mouse outside the + // display). + if (charLine == _prevCharacterLine && charColumn == _prevCharacterColumn && + contentsRect().contains(ev->pos())) { return; }