-void wxApp::OnIdle( wxIdleEvent &event )
-{
- static bool s_inOnIdle = FALSE;
-
- // Avoid recursion (via ProcessEvent default case)
- if (s_inOnIdle)
- return;
-
- s_inOnIdle = TRUE;
-
- // Resend in the main thread events which have been prepared in other
- // threads
- ProcessPendingEvents();
-
- // 'Garbage' collection of windows deleted with Close()
- DeletePendingObjects();
-
- // Send OnIdle events to all windows
- bool needMore = SendIdleEvents();
-
- if (needMore)
- event.RequestMore(TRUE);
-
- s_inOnIdle = FALSE;
-}
-
-int wxApp::MainLoop()
-{
- gtk_main();
- return 0;
-}
-
-void wxApp::Exit()
-{
- // VZ: no idea why is it different from ExitMainLoop() but this is what
- // wxExit() used to do
- gtk_main_quit();
-}
-
-void wxApp::ExitMainLoop()
-{
- if (gtk_main_level() > 0)
- gtk_main_quit();
-}
-
-bool wxApp::Initialized()
-{
- return m_initialized;
-}
-
-bool wxApp::Pending()
-{
- return (gtk_events_pending() > 0);
-}
-
-void wxApp::Dispatch()
-{
- gtk_main_iteration();
-}
-