]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix wxGTK1 event loop definition mismatch between base/GUI.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 26 Apr 2010 14:19:31 +0000 (14:19 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 26 Apr 2010 14:19:31 +0000 (14:19 +0000)
We must define wxEventLoopBase in the same way in base and GUI code,
otherwise, even though we fool the compiler into accepting our code, it
crashes or behaves otherwise weirdly during run-time because of vtbl mismatch.

This fixes wxGTK1 which was crashing on startup since the FSWATCHER branch
merge in r62474 and associated changes to support the event loop sources.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/evtloop.h

index 3ba5c71aed05abe30a9371b88b0ca071851932cb..04f0a97761b8d7d95cb7e48cdfabdb6d0bde6825 100644 (file)
@@ -17,8 +17,7 @@
 
 // TODO: implement wxEventLoopSource for MSW (it should wrap a HANDLE and be
 //       monitored using MsgWaitForMultipleObjects())
-#if defined(__WXOSX__) || defined(__WXGTK20__) || defined(__WXDFB__) || \
-        (!wxUSE_GUI && defined(__UNIX__))
+#if defined(__WXOSX__) || defined(__UNIX__)
     #define wxUSE_EVENTLOOP_SOURCE 1
 #else
     #define wxUSE_EVENTLOOP_SOURCE 0
@@ -265,6 +264,19 @@ public:
     wxGUIEventLoop() { m_impl = NULL; }
     virtual ~wxGUIEventLoop();
 
+#if wxUSE_EVENTLOOP_SOURCE
+    // We need to define a base class pure virtual method but we can't provide
+    // a generic implementation for it so simply fail.
+    virtual wxEventLoopSource *
+    AddSourceForFD(int WXUNUSED(fd),
+                   wxEventLoopSourceHandler * WXUNUSED(handler),
+                   int WXUNUSED(flags))
+    {
+        wxFAIL_MSG( "support for event loop sources not implemented" );
+        return NULL;
+    }
+#endif // wxUSE_EVENTLOOP_SOURCE
+
     virtual int Run();
     virtual void Exit(int rc = 0);
     virtual bool Pending() const;