- if (wxTheApp && !g_isIdle)
- {
- // We need to remove idle callbacks or gtk_events_pending will
- // never return false.
- gtk_idle_remove( wxTheApp->m_idleTag );
- wxTheApp->m_idleTag = 0;
- g_isIdle = TRUE;
- }
-
- return gtk_events_pending();
+ bool pending;
+ wxApp* app = wxTheApp;
+ if (app != NULL)
+ // app->EventsPending() avoids false positives from our idle source
+ pending = app->EventsPending();
+ else
+ pending = gtk_events_pending() != 0;
+ return pending;