From: boca4711 <boc...@us...> - 2004-11-01 14:16:44
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30224 Modified Files: ScintillaEx.cpp Log Message: Bugfix: InsertTextIntoLines handles no selection and selection which ends in the middle of a line. Index: ScintillaEx.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ScintillaEx.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** ScintillaEx.cpp 25 Oct 2004 13:36:02 -0000 1.18 --- ScintillaEx.cpp 1 Nov 2004 14:16:32 -0000 1.19 *************** *** 1664,1671 **** int nLineStart = LineFromPosition(GetSelectionStart()); int nLineEnd = LineFromPosition(GetSelectionEnd()); int nPosition; BeginUndoAction(); ! for(int nLine = nLineStart; nLine < nLineEnd; nLine++) { switch (nPos) --- 1664,1676 ---- int nLineStart = LineFromPosition(GetSelectionStart()); int nLineEnd = LineFromPosition(GetSelectionEnd()); + + // Remove last line if selection ends on first position of line. + if (GetSelectionEnd() == PositionFromLine(nLineEnd) && nLineEnd > nLineStart) + nLineEnd--; + int nPosition; BeginUndoAction(); ! for(int nLine = nLineStart; nLine <= nLineEnd; nLine++) { switch (nPos) *************** *** 1694,1697 **** --- 1699,1707 ---- int nLineStart = LineFromPosition(GetSelectionStart()); int nLineEnd = LineFromPosition(GetSelectionEnd()); + + // Remove last line if selection ends on first position of line. + if (GetSelectionEnd() == PositionFromLine(nLineEnd) && nLineEnd > nLineStart) + nLineEnd--; + int nPosition; *************** *** 1702,1706 **** BeginUndoAction(); ! for(int nLine = nLineStart; nLine < nLineEnd; nLine++) { nPosition = PositionFromLine(nLine); --- 1712,1716 ---- BeginUndoAction(); ! for(int nLine = nLineStart; nLine <= nLineEnd; nLine++) { nPosition = PositionFromLine(nLine); |