◀ANSI版開発トップへ
  • 3638 論理行先頭とタブの組み合わせバグ
  • [3638] 論理行先頭とタブの組み合わせバグ もか 2004年06月16日 20:39

    >>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 );