MFC 在B.cpp中调用A.cpp一直在消息映射中反复循环是为什么?

a.h

#include "b.h"

a.cpp:

void CA::CreateB()
{
    //打开B的对话框
    CB * dlg;
    dlg = new CB(this);
    dlg->DoModal();
}
void CA::ListUpdate()
{
    m_list.InsertItem(0,L"aa");
}

b.cpp:

void CB::Error1001()
{
  //点击B对话框的Button按钮
    CA a;
    a.ListUpdate();
}

每次执行这段代码就会弹出这个,应该如何解决
图片说明

是不是你同时处理了列表框更改消息,而在里面又插入,导致循环往复地调用了