log messages given during program initialization are not discarded any more

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-04-15 19:16:19 +00:00
parent 5679f3353c
commit 0151c3eb43
2 changed files with 66 additions and 54 deletions

View File

@ -581,39 +581,45 @@ int wxEntry( int argc, char *argv[] )
wxStripExtension( name );
wxTheApp->SetAppName( name );
if (!wxTheApp->OnInitGui())
return 0;
int retValue = 0;
if ( !wxTheApp->OnInitGui() )
retValue = -1;
// Here frames insert themselves automatically into wxTopLevelWindows by
// getting created in OnInit().
if (!wxTheApp->OnInit())
return 0;
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
int retValue = 0;
if (wxTheApp->Initialized())
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
if ( retValue == 0 )
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
if ( !wxTheApp->OnInit() )
retValue = -1;
}
wxTheApp->OnExit();
if ( retValue == 0 )
{
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
if (wxTheApp->Initialized())
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
}
wxTheApp->OnExit();
}
// flush the logged messages if any
wxLog *log = wxLog::GetActiveTarget();

View File

@ -581,39 +581,45 @@ int wxEntry( int argc, char *argv[] )
wxStripExtension( name );
wxTheApp->SetAppName( name );
if (!wxTheApp->OnInitGui())
return 0;
int retValue = 0;
if ( !wxTheApp->OnInitGui() )
retValue = -1;
// Here frames insert themselves automatically into wxTopLevelWindows by
// getting created in OnInit().
if (!wxTheApp->OnInit())
return 0;
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
int retValue = 0;
if (wxTheApp->Initialized())
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
if ( retValue == 0 )
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
if ( !wxTheApp->OnInit() )
retValue = -1;
}
wxTheApp->OnExit();
if ( retValue == 0 )
{
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
if (wxTheApp->Initialized())
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
}
wxTheApp->OnExit();
}
// flush the logged messages if any
wxLog *log = wxLog::GetActiveTarget();