+void wxConsoleEventLoop::OnNextIteration()
+{
+ if ( wxTheApp )
+ wxTheApp->ProcessPendingEvents();
+}
+
+void wxConsoleEventLoop::WakeUp()
+{
+#if wxUSE_THREADS
+ wxWakeUpMainThread();
+#endif
+}
+
+bool wxConsoleEventLoop::Dispatch()
+{
+ MSG msg;
+ if ( !GetNextMessage(&msg) )
+ return false;
+
+ if ( msg.message == WM_TIMER )
+ {
+ TIMERPROC proc = (TIMERPROC)msg.lParam;
+ if ( proc )
+ (*proc)(NULL, 0, msg.wParam, 0);
+ }
+ else
+ {
+ ::DispatchMessage(&msg);
+ }
+
+ return !m_shouldExit;