PD>Протрассируй вызов OpenDocumentFile.
BOOL CMDIChildWnd::DestroyWindow()
{
if (m_hWnd == NULL)
return FALSE;
// avoid changing the caption during the destroy message(s)
CMDIFrameWnd* pFrameWnd = GetMDIFrame();
HWND hWndFrame = pFrameWnd->m_hWnd;
ASSERT(::IsWindow(hWndFrame));
DWORD dwStyle = SetWindowLong(hWndFrame, GWL_STYLE,
GetWindowLong(hWndFrame, GWL_STYLE) & ~FWS_ADDTOTITLE);
MDIDestroy(); // <---- после этого вызова CWinApp::m_pMainWnd становиться == NULL
if (::IsWindow(hWndFrame))
{
ASSERT(hWndFrame == pFrameWnd->m_hWnd);
SetWindowLong(hWndFrame, GWL_STYLE, dwStyle);
pFrameWnd->OnUpdateFrameTitle(TRUE);
}
return TRUE;
}