From 08da59a992ebdd1d19614073ae39d929636270fc Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 8 Aug 2013 18:13:09 +1000 Subject: Bug [#1512]. Fix bug with horizontal caret position when margin changed. From Neomi. --- doc/ScintillaHistory.html | 5 +++++ src/Editor.cxx | 2 ++ 2 files changed, 7 insertions(+) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index fad1797ce..cbd7f568f 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -428,6 +428,7 @@ Brian Griffin Özgür Emir + Neomi

@@ -463,6 +464,10 @@ Bug #1508.

  • + Fixed bug with horizontal caret position when margin changed. + Bug #1512. +
  • +
  • Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows. Feature #1002.
  • diff --git a/src/Editor.cxx b/src/Editor.cxx index 3aa949f77..bf4144d36 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -7681,6 +7681,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return vs.rightMarginWidth; case SCI_SETMARGINLEFT: + lastXChosen += lParam - vs.leftMarginWidth; vs.leftMarginWidth = lParam; InvalidateStyleRedraw(); break; @@ -8429,6 +8430,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { if (ValidMargin(wParam)) { // Short-circuit if the width is unchanged, to avoid unnecessary redraw. if (vs.ms[wParam].width != lParam) { + lastXChosen += lParam - vs.ms[wParam].width; vs.ms[wParam].width = lParam; InvalidateStyleRedraw(); } -- cgit v1.2.3