From 5d670c2cc7d8f2a53564a714fd1265ad06867c99 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 26 Apr 2010 14:19:31 +0000 Subject: [PATCH] Fix wxGTK1 event loop definition mismatch between base/GUI. 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 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/include/wx/evtloop.h b/include/wx/evtloop.h index 3ba5c71aed..04f0a97761 100644 --- a/include/wx/evtloop.h +++ b/include/wx/evtloop.h @@ -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; -- 2.45.2