diff --git a/uppsrc/TextDiffCtrl/TextCtrl.cpp b/uppsrc/TextDiffCtrl/TextCtrl.cpp index 03ad4133d..3692d79ef 100644 --- a/uppsrc/TextDiffCtrl/TextCtrl.cpp +++ b/uppsrc/TextDiffCtrl/TextCtrl.cpp @@ -25,22 +25,23 @@ TextCompareCtrl::TextCompareCtrl() gutter_capture = false; } -int TextCompareCtrl::GetLineNo(int y) +int TextCompareCtrl::GetLineNo(int y, int& ii) { - int ii = scroll.Get().y + y / letter.cy; + ii = scroll.Get().y + y / letter.cy; return ii >= 0 && ii < lines.GetCount() ? lines[ii].number : Null; } void TextCompareCtrl::DoSelection(int y, bool shift) { - int i = GetLineNo(y); + int ii; + int i = GetLineNo(y, ii); if(!IsNull(i)) { if(shift) cursor = i; else cursor = anchor = i; Refresh(); - scroll.ScrollIntoY(i); + scroll.ScrollIntoY(ii); } } @@ -65,7 +66,8 @@ void TextCompareCtrl::LeftDown(Point pt, dword keyflags) void TextCompareCtrl::LeftDouble(Point pt, dword keyflags) { - int i = GetLineNo(pt.y); + int ii; + int i = GetLineNo(pt.y, ii); if(!IsNull(i)) WhenLeftDouble(i - 1); } diff --git a/uppsrc/TextDiffCtrl/TextDiffCtrl.h b/uppsrc/TextDiffCtrl/TextDiffCtrl.h index 49a8596f0..02e35c38a 100644 --- a/uppsrc/TextDiffCtrl/TextDiffCtrl.h +++ b/uppsrc/TextDiffCtrl/TextDiffCtrl.h @@ -49,7 +49,7 @@ private: bool GetSelection(int& l, int& h); void DoSelection(int y, bool shift); void Copy(); - int GetLineNo(int y); + int GetLineNo(int y, int& yy); private: struct Line {