2004/6/16 (水) 20:39:48 もか  
INCM1.23a
[3638] 論理行先頭とタブの組み合わせバグ
>>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 );

INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.010]