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
This commit is contained in:
Vadim Zeitlin
2010-04-26 14:19:31 +00:00
parent 61f09f5693
commit 5d670c2cc7

View 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;