aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2013-08-12 16:22:21 +1000
committerNeil <nyamatongwe@gmail.com>2013-08-12 16:22:21 +1000
commit2e4a7d1e3454a5b1eeef5d661dfcf5ceeca332c7 (patch)
tree207e01c61613b59717f1f477ee57ee1f3d8775c9
parentae6923ec7059150408b15ced63f9645c1ec7781a (diff)
downloadscintilla-mirror-2e4a7d1e3454a5b1eeef5d661dfcf5ceeca332c7.tar.gz
Feature: [feature-requests:#1007]. Fix bugs with redrawing selection.
From Neomi.
-rw-r--r--doc/ScintillaHistory.html6
-rw-r--r--src/Editor.cxx2
2 files changed, 8 insertions, 0 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 999141df8..a041e9e18 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -468,6 +468,12 @@
<a href="http://sourceforge.net/p/scintilla/bugs/1512/">Bug #1512</a>.
</li>
<li>
+ Ensure selection redrawn correctly in two cases.
+ When switching from stream to rectangular selection with Alt+Shift+Up.
+ When reducing the range of an additional selection by moving mouse up.
+ <a href="http://sourceforge.net/p/scintilla/feature-requests/1007/">Feature #1007.</a>
+ </li>
+ <li>
Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows.
<a href="http://sourceforge.net/p/scintilla/feature-requests/1002/">Feature #1002.</a>
<a href="http://sourceforge.net/p/scintilla/bugs/1513/">Bug #1513</a>.
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 7c1d91c28..45a88711f 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -980,6 +980,7 @@ int Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, b
}
if (!sel.IsRectangular() && (selt == Selection::selRectangle)) {
// Switching to rectangular
+ InvalidateSelection(sel.RangeMain(), false);
SelectionRange rangeMain = sel.RangeMain();
sel.Clear();
sel.Rectangular() = rangeMain;
@@ -6532,6 +6533,7 @@ void Editor::ButtonMove(Point pt) {
sel.Rectangular() = SelectionRange(movePos, sel.Rectangular().anchor);
SetSelection(movePos, sel.RangeMain().anchor);
} else if (sel.Count() > 1) {
+ InvalidateSelection(sel.RangeMain(), false);
SelectionRange range(movePos, sel.RangeMain().anchor);
sel.TentativeSelection(range);
InvalidateSelection(range, true);