diff --git a/src/cascadia/TerminalControl/TermControl.cpp b/src/cascadia/TerminalControl/TermControl.cpp index cc4e14728c3..da4b256e70c 100644 --- a/src/cascadia/TerminalControl/TermControl.cpp +++ b/src/cascadia/TerminalControl/TermControl.cpp @@ -1422,6 +1422,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation _selectionNeedsToBeCopied = true; } + if (_terminal->IsSelectionActive()) + { + // GH#9787: if selection is active we don't want to track the touchdown position + // so that dragging the mouse will extend the selection rather than starting the new one + _singleClickTouchdownPos = std::nullopt; + } + _renderer->TriggerSelection(); } else if (point.Properties().IsRightButtonPressed())