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. --- src/Editor.cxx | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') 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