From: Takashi Sawanaka Date: Tue, 4 Dec 2018 23:10:14 +0000 (+0900) Subject: ccrystaltextview2.cpp: Fix the GitHub issue #109 Frustrating text selection bug X-Git-Tag: 2.16.4+-jp-10~110^2~223 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=95552663888ca2cc867a2f3d6af3e2b4dc1dbbf3;p=winmerge-jp%2Fwinmerge-jp.git ccrystaltextview2.cpp: Fix the GitHub issue #109 Frustrating text selection bug --- diff --git a/Externals/crystaledit/editlib/ccrystaltextview2.cpp b/Externals/crystaledit/editlib/ccrystaltextview2.cpp index 28422fd66..7b15e0e9f 100644 --- a/Externals/crystaledit/editlib/ccrystaltextview2.cpp +++ b/Externals/crystaledit/editlib/ccrystaltextview2.cpp @@ -568,7 +568,8 @@ SelectAll () int nLineCount = GetLineCount (); m_ptCursorPos.x = GetLineLength (nLineCount - 1); m_ptCursorPos.y = nLineCount - 1; - SetSelection (CPoint (0, 0), m_ptCursorPos); + m_ptAnchor = CPoint (0, 0); + SetSelection (m_ptAnchor, m_ptCursorPos); UpdateCaret (); } @@ -678,6 +679,7 @@ OnLButtonDown (UINT nFlags, CPoint point) ptEnd = m_ptCursorPos; } + m_ptAnchor = ptStart; m_ptCursorPos = ptEnd; UpdateCaret (); EnsureVisible (m_ptCursorPos); @@ -789,6 +791,7 @@ OnMouseMove (UINT nFlags, CPoint point) ptEnd = ptNewCursorPos; } + m_ptAnchor = ptStart; m_ptCursorPos = ptEnd; UpdateCaret (); SetSelection (ptStart, ptEnd); @@ -903,6 +906,7 @@ OnLButtonUp (UINT nFlags, CPoint point) ptEnd = m_ptCursorPos; } + m_ptAnchor = ptStart; m_ptCursorPos = ptEnd; EnsureVisible (m_ptCursorPos); UpdateCaret (); @@ -1051,6 +1055,7 @@ OnLButtonDblClk (UINT nFlags, CPoint point) ptEnd = WordToRight (m_ptCursorPos); } + m_ptAnchor = ptStart; m_ptCursorPos = ptEnd; UpdateCaret (); EnsureVisible (m_ptCursorPos);