>>3509 で改行位置が変だったのを修正
したものの、同じ原理により、CLayoutMgr::CaretPos_Phys2Logにもバグがあります。
CEditView::DrawCaretPosInfoも変ですが、操作に問題は無いのでとりあえず放置します。
入力・置換・Redo・Undoなどに問題があることを確認しました。
検索の色分けは正常です。
CLayoutMgr.cpp
@@ -1287,7 +1287,7 @@
nCaretPosX = 0;
do{
if( nY == pLayout->m_nLinePhysical ){
- nCaretPosX = 0;
+ nCaretPosX = pLayout->GetIndent();
// pData = GetLineStr( nCaretPosY, &nDataLen );
// pData = pLayout->m_pLine + pLayout->m_nOffset;
pData = pLayout->m_pCDocLine->m_pLine->GetPtr() + pLayout->m_nOffset; // 2002/2/10 aroka CMemory変更
@@ -1335,7 +1335,7 @@
}
pLayout = pLayout->m_pNext;
}while( NULL != pLayout );
- *pnCaretPosX = nCaretPosX + (pLayout ? pLayout->GetIndent() : 0);
+ *pnCaretPosX = pLayout ? nCaretPosX : 0;
*pnCaretPosY = nCaretPosY;
//#ifdef _DEBUG
// MYTRACE( "\t\tnCaretPosY - nY = %d\n", nCaretPosY - nY );