From 5d67cf8a95eeb492c3989a6c81daedad7b4a05f3 Mon Sep 17 00:00:00 2001 From: Neil Date: Sun, 3 Nov 2019 08:00:52 +1100 Subject: Backport: Bug [#2130]. Setting rectangular selection made faster by reusing surface. Backport of changeset 7758:703e30efe7bf. --- src/Editor.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index cb7269685..b26d19c8b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -591,8 +591,11 @@ void Editor::SetRectangularRange() { const Sci::Line lineCaret = pdoc->SciLineFromPosition(sel.Rectangular().caret.Position()); const int increment = (lineCaret > lineAnchorRect) ? 1 : -1; + AutoSurface surface(this); for (Sci::Line line=lineAnchorRect; line != lineCaret+increment; line += increment) { - SelectionRange range(SPositionFromLineX(line, xCaret), SPositionFromLineX(line, xAnchor)); + SelectionRange range( + view.SPositionFromLineX(surface, *this, line, xCaret, vs), + view.SPositionFromLineX(surface, *this, line, xAnchor, vs)); if ((virtualSpaceOptions & SCVS_RECTANGULARSELECTION) == 0) range.ClearVirtualSpace(); if (line == lineAnchorRect) -- cgit v1.2.3