// event loops. For example, inside this event loop, we may recieve
// Exit() for a different event loop (which we are currently inside of)
// That Exit() will cause this gtk_main() to exit so we need to re-enter it.
- while ( !m_shouldExit )
+#if 0
+ // changed by JJ
+ // this code was intended to support nested event loops. However,
+ // exiting a dialog will result in a application hang (because
+ // gtk_main_quit is called when closing the dialog????)
+ // So for the moment this code is disabled and nested event loops
+ // probably fail for wxGTK1
+ while ( !m_shouldExit )
{
- gtk_main();
+#endif
+ gtk_main();
+#if 0
}
// Force the enclosing event loop to also exit to see if it is done
{
gtk_main_quit();
}
+#endif
OnExit();
return true;
}
+
+class wxGUIEventLoopSourcesManager : public wxEventLoopSourcesManagerBase
+{
+ public:
+ wxEventLoopSource *
+ AddSourceForFD(int WXUNUSED(fd),
+ wxEventLoopSourceHandler* WXUNUSED(handler),
+ int WXUNUSED(flags))
+ {
+ wxFAIL_MSG("Monitoring FDs in the main loop is not implemented in wxGTK1");
+
+ return NULL;
+ }
+};
+
+wxEventLoopSourcesManagerBase* wxGUIAppTraits::GetEventLoopSourcesManager()
+{
+ static wxGUIEventLoopSourcesManager s_eventLoopSourcesManager;
+
+ return &s_eventLoopSourcesManager;
+}