explicitly call OnExit() in the ports which don't use wxEventLoopManual

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-12-06 23:28:44 +00:00
parent 99b37d672b
commit 16d17da6ca
7 changed files with 14 additions and 11 deletions

View File

@@ -64,6 +64,8 @@ int wxEventLoop::Run()
[[NSApplication sharedApplication] run]; [[NSApplication sharedApplication] run];
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;

View File

@@ -75,6 +75,8 @@ int wxEventLoop::Run()
gtk_main(); gtk_main();
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;

View File

@@ -75,6 +75,8 @@ int wxEventLoop::Run()
gtk_main(); gtk_main();
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;

View File

@@ -137,6 +137,8 @@ int wxEventLoop::Run()
} }
} }
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;

View File

@@ -122,6 +122,8 @@ int wxEventLoop::Run()
break; break;
} }
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;

View File

@@ -277,6 +277,8 @@ int wxEventLoop::Run()
wxMilliSleep(10); wxMilliSleep(10);
} }
OnExit();
return m_impl->GetExitCode(); return m_impl->GetExitCode();
} }

View File

@@ -372,10 +372,6 @@ int wxEventLoop::Run()
m_impl->m_keepGoing = true; m_impl->m_keepGoing = true;
while ( m_impl->m_keepGoing ) while ( m_impl->m_keepGoing )
{ {
#if 0 // wxUSE_THREADS
wxMutexGuiLeaveOrEnter();
#endif // wxUSE_THREADS
// generate and process idle events for as long as we don't have // generate and process idle events for as long as we don't have
// anything else to do // anything else to do
while ( ! Pending() ) while ( ! Pending() )
@@ -385,13 +381,6 @@ int wxEventLoop::Run()
#endif #endif
if (!m_impl->SendIdleEvent()) if (!m_impl->SendIdleEvent())
{ {
#if 0 // wxUSE_THREADS
// leave the main loop to give other threads a chance to
// perform their GUI work
wxMutexGuiLeave();
wxUsleep(20);
wxMutexGuiEnter();
#endif
// Break out of while loop // Break out of while loop
break; break;
} }
@@ -405,6 +394,8 @@ int wxEventLoop::Run()
} }
} }
OnExit();
int exitcode = m_impl->GetExitCode(); int exitcode = m_impl->GetExitCode();
delete m_impl; delete m_impl;
m_impl = NULL; m_impl = NULL;