int srcEnd = nSrcOffsets[worddiffs[i].endline[srcPane] - ptSrcStart.y] + worddiffs[i].end[srcPane];
int dstBegin = nDstOffsets[worddiffs[i].beginline[dstPane] - ptDstStart.y] + worddiffs[i].begin[dstPane];
int dstEnd = nDstOffsets[worddiffs[i].endline[dstPane] - ptDstStart.y] + worddiffs[i].end[dstPane];
- CString text = srcText.Mid(srcBegin - ptSrcStart.x, srcEnd - srcBegin);
- dstText.Delete(dstBegin - ptDstStart.x, dstEnd - dstBegin);
- dstText.Insert(dstBegin - ptDstStart.x, text);
+ dstText = dstText.Mid(0, dstBegin - ptDstStart.x)\r
+ + srcText.Mid(srcBegin - ptSrcStart.x, srcEnd - srcBegin)\r
+ + dstText.Mid(dstEnd - ptDstStart.x);\r
}
dbuf.DeleteText(pSource, ptDstStart.y, ptDstStart.x, ptDstEnd.y, ptDstEnd.x, CE_ACTION_MERGE);
if (nLineBegin != nLineEnd || m_ptBuf[file]->GetLineLength(nLineEnd) > 0)
m_ptBuf[file]->GetTextWithoutEmptys(nLineBegin, 0, nLineEnd, m_ptBuf[file]->GetLineLength(nLineEnd), strText);
strText += m_ptBuf[file]->GetLineEol(nLineEnd);
- str[file] = strText;
+ str[file].assign(strText, strText.GetLength());
nOffsets[file][0] = 0;
for (int nLine = nLineBegin; nLine < nLineEnd; nLine++)