Split up wxEntry so wxPython can use the bits it needs instead of
copying code. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -565,7 +565,8 @@ void wxApp::CleanUp()
|
|||||||
// wxEntry
|
// wxEntry
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
int wxEntry( int argc, char *argv[] )
|
|
||||||
|
int wxEntryStart( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
/* GTK 1.2 up to version 1.2.3 has broken threads */
|
/* GTK 1.2 up to version 1.2.3 has broken threads */
|
||||||
@@ -601,6 +602,55 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int wxEntryInitGui()
|
||||||
|
{
|
||||||
|
int retValue = 0;
|
||||||
|
|
||||||
|
if ( !wxTheApp->OnInitGui() )
|
||||||
|
retValue = -1;
|
||||||
|
|
||||||
|
wxRootWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||||
|
gtk_widget_realize( wxRootWindow );
|
||||||
|
|
||||||
|
return retValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void wxEntryCleanup()
|
||||||
|
{
|
||||||
|
#if wxUSE_LOG
|
||||||
|
// flush the logged messages if any
|
||||||
|
wxLog *log = wxLog::GetActiveTarget();
|
||||||
|
if (log != NULL && log->HasPendingMessages())
|
||||||
|
log->Flush();
|
||||||
|
|
||||||
|
// continuing to use user defined log target is unsafe from now on because
|
||||||
|
// some resources may be already unavailable, so replace it by something
|
||||||
|
// more safe
|
||||||
|
wxLog *oldlog = wxLog::SetActiveTarget(new wxLogStderr);
|
||||||
|
if ( oldlog )
|
||||||
|
delete oldlog;
|
||||||
|
#endif // wxUSE_LOG
|
||||||
|
|
||||||
|
wxApp::CleanUp();
|
||||||
|
|
||||||
|
gdk_threads_leave();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int wxEntry( int argc, char *argv[] )
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = wxEntryStart(argc, argv);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
if (!wxTheApp)
|
if (!wxTheApp)
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
|
wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
|
||||||
@@ -633,13 +683,8 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
wxStripExtension( name );
|
wxStripExtension( name );
|
||||||
wxTheApp->SetAppName( name );
|
wxTheApp->SetAppName( name );
|
||||||
|
|
||||||
int retValue = 0;
|
int retValue;
|
||||||
|
retValue = wxEntryInitGui();
|
||||||
if ( !wxTheApp->OnInitGui() )
|
|
||||||
retValue = -1;
|
|
||||||
|
|
||||||
wxRootWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
|
||||||
gtk_widget_realize( wxRootWindow );
|
|
||||||
|
|
||||||
// Here frames insert themselves automatically into wxTopLevelWindows by
|
// Here frames insert themselves automatically into wxTopLevelWindows by
|
||||||
// getting created in OnInit().
|
// getting created in OnInit().
|
||||||
@@ -683,23 +728,7 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_LOG
|
wxEntryCleanup();
|
||||||
// flush the logged messages if any
|
|
||||||
wxLog *log = wxLog::GetActiveTarget();
|
|
||||||
if (log != NULL && log->HasPendingMessages())
|
|
||||||
log->Flush();
|
|
||||||
|
|
||||||
// continuing to use user defined log target is unsafe from now on because
|
|
||||||
// some resources may be already unavailable, so replace it by something
|
|
||||||
// more safe
|
|
||||||
wxLog *oldlog = wxLog::SetActiveTarget(new wxLogStderr);
|
|
||||||
if ( oldlog )
|
|
||||||
delete oldlog;
|
|
||||||
#endif // wxUSE_LOG
|
|
||||||
|
|
||||||
wxApp::CleanUp();
|
|
||||||
|
|
||||||
gdk_threads_leave();
|
|
||||||
|
|
||||||
return retValue;
|
return retValue;
|
||||||
}
|
}
|
||||||
|
@@ -565,7 +565,8 @@ void wxApp::CleanUp()
|
|||||||
// wxEntry
|
// wxEntry
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
int wxEntry( int argc, char *argv[] )
|
|
||||||
|
int wxEntryStart( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
/* GTK 1.2 up to version 1.2.3 has broken threads */
|
/* GTK 1.2 up to version 1.2.3 has broken threads */
|
||||||
@@ -601,6 +602,55 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int wxEntryInitGui()
|
||||||
|
{
|
||||||
|
int retValue = 0;
|
||||||
|
|
||||||
|
if ( !wxTheApp->OnInitGui() )
|
||||||
|
retValue = -1;
|
||||||
|
|
||||||
|
wxRootWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||||
|
gtk_widget_realize( wxRootWindow );
|
||||||
|
|
||||||
|
return retValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void wxEntryCleanup()
|
||||||
|
{
|
||||||
|
#if wxUSE_LOG
|
||||||
|
// flush the logged messages if any
|
||||||
|
wxLog *log = wxLog::GetActiveTarget();
|
||||||
|
if (log != NULL && log->HasPendingMessages())
|
||||||
|
log->Flush();
|
||||||
|
|
||||||
|
// continuing to use user defined log target is unsafe from now on because
|
||||||
|
// some resources may be already unavailable, so replace it by something
|
||||||
|
// more safe
|
||||||
|
wxLog *oldlog = wxLog::SetActiveTarget(new wxLogStderr);
|
||||||
|
if ( oldlog )
|
||||||
|
delete oldlog;
|
||||||
|
#endif // wxUSE_LOG
|
||||||
|
|
||||||
|
wxApp::CleanUp();
|
||||||
|
|
||||||
|
gdk_threads_leave();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int wxEntry( int argc, char *argv[] )
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = wxEntryStart(argc, argv);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
if (!wxTheApp)
|
if (!wxTheApp)
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
|
wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
|
||||||
@@ -633,13 +683,8 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
wxStripExtension( name );
|
wxStripExtension( name );
|
||||||
wxTheApp->SetAppName( name );
|
wxTheApp->SetAppName( name );
|
||||||
|
|
||||||
int retValue = 0;
|
int retValue;
|
||||||
|
retValue = wxEntryInitGui();
|
||||||
if ( !wxTheApp->OnInitGui() )
|
|
||||||
retValue = -1;
|
|
||||||
|
|
||||||
wxRootWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
|
||||||
gtk_widget_realize( wxRootWindow );
|
|
||||||
|
|
||||||
// Here frames insert themselves automatically into wxTopLevelWindows by
|
// Here frames insert themselves automatically into wxTopLevelWindows by
|
||||||
// getting created in OnInit().
|
// getting created in OnInit().
|
||||||
@@ -683,23 +728,7 @@ int wxEntry( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_LOG
|
wxEntryCleanup();
|
||||||
// flush the logged messages if any
|
|
||||||
wxLog *log = wxLog::GetActiveTarget();
|
|
||||||
if (log != NULL && log->HasPendingMessages())
|
|
||||||
log->Flush();
|
|
||||||
|
|
||||||
// continuing to use user defined log target is unsafe from now on because
|
|
||||||
// some resources may be already unavailable, so replace it by something
|
|
||||||
// more safe
|
|
||||||
wxLog *oldlog = wxLog::SetActiveTarget(new wxLogStderr);
|
|
||||||
if ( oldlog )
|
|
||||||
delete oldlog;
|
|
||||||
#endif // wxUSE_LOG
|
|
||||||
|
|
||||||
wxApp::CleanUp();
|
|
||||||
|
|
||||||
gdk_threads_leave();
|
|
||||||
|
|
||||||
return retValue;
|
return retValue;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user