X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e913f796a6a0431c79ffb79a2ba5922ff770eca..ae8eee38f480032f4d1b756419f0d70b5f05f156:/src/unix/evtloopunix.cpp diff --git a/src/unix/evtloopunix.cpp b/src/unix/evtloopunix.cpp index ff12e32638..ec07e2559d 100644 --- a/src/unix/evtloopunix.cpp +++ b/src/unix/evtloopunix.cpp @@ -19,7 +19,7 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/evtloop.h" +#if wxUSE_CONSOLE_EVENTLOOP #ifndef WX_PRECOMP #include "wx/app.h" @@ -27,21 +27,16 @@ #endif #include +#include "wx/apptrait.h" +#include "wx/evtloop.h" #include "wx/thread.h" #include "wx/module.h" +#include "wx/unix/private/timer.h" #include "wx/unix/private/epolldispatcher.h" #include "wx/private/selectdispatcher.h" -#if wxUSE_TIMER - #include "wx/generic/private/timer.h" -#endif - #define TRACE_EVENTS _T("events") -//this code should not be compiled when GUI is defined -//(monolithic build issue) -#if !wxUSE_GUI - // =========================================================================== // wxEventLoop::PipeIOHandler implementation // =========================================================================== @@ -131,15 +126,9 @@ wxConsoleEventLoop::wxConsoleEventLoop() return; } -#ifdef HAVE_SYS_EPOLL_H - m_dispatcher = wxEpollDispatcher::Get(); + m_dispatcher = wxFDIODispatcher::Get(); if ( !m_dispatcher ) -#endif // HAVE_SYS_EPOLL_H - { - m_dispatcher = wxSelectDispatcher::Get(); - } - - wxCHECK_RET( m_dispatcher, _T("failed to create IO dispatcher") ); + return; m_dispatcher->RegisterFD ( @@ -147,7 +136,7 @@ wxConsoleEventLoop::wxConsoleEventLoop() &m_wakeupPipe, wxFDIO_INPUT ); -}; +} //----------------------------------------------------------------------------- // events dispatch and loop handling @@ -187,7 +176,7 @@ void wxConsoleEventLoop::OnNextIteration() timeout = wxFDIODispatcher::TIMEOUT_INFINITE; } - m_dispatcher->RunLoop(timeout); + m_dispatcher->Dispatch(timeout); #if wxUSE_TIMER wxTimerScheduler::Get().NotifyExpired(); @@ -197,4 +186,10 @@ void wxConsoleEventLoop::OnNextIteration() wxTheApp->CheckSignal(); } -#endif // !wxUSE_GUI + +wxEventLoopBase *wxConsoleAppTraits::CreateEventLoop() +{ + return new wxEventLoop(); +} + +#endif // wxUSE_CONSOLE_EVENTLOOP