X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e570a44b372cf56526c128eab646615fa59520fc..25c702609db6a749ffd5f3e659ec348e4aa3a3c8:/src/msw/basemsw.cpp?ds=inline

diff --git a/src/msw/basemsw.cpp b/src/msw/basemsw.cpp
index 8ec6130a51..4ba9b8b091 100644
--- a/src/msw/basemsw.cpp
+++ b/src/msw/basemsw.cpp
@@ -28,6 +28,8 @@
 #endif //WX_PRECOMP
 
 #include "wx/apptrait.h"
+#include "wx/evtloop.h"
+#include "wx/msw/private/timer.h"
 // MBN: this is a workaround for MSVC 5: if it is not #included in
 // some wxBase file, wxRecursionGuard methods won't be exported from
 // wxBase.dll, and MSVC 5 will give linker errors
@@ -35,6 +37,15 @@
 
 #include "wx/msw/private.h"
 
+// ============================================================================
+// wxAppTraits implementation
+// ============================================================================
+
+WXDWORD wxAppTraits::DoSimpleWaitForThread(WXHANDLE hThread)
+{
+    return ::WaitForSingleObject((HANDLE)hThread, INFINITE);
+}
+
 // ============================================================================
 // wxConsoleAppTraits implementation
 // ============================================================================
@@ -71,8 +82,27 @@ bool wxConsoleAppTraits::DoMessageFromThreadWait()
     return true;
 }
 
+#if wxUSE_TIMER
+
+wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+    return new wxMSWTimerImpl(timer);
+}
+
+#endif // wxUSE_TIMER
+
+wxEventLoopBase *wxConsoleAppTraits::CreateEventLoop()
+{
+#if wxUSE_CONSOLE_EVENTLOOP
+    return new wxEventLoop();
+#else // !wxUSE_CONSOLE_EVENTLOOP
+    return NULL;
+#endif // wxUSE_CONSOLE_EVENTLOOP/!wxUSE_CONSOLE_EVENTLOOP
+}
+
+
 WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
 {
-    return ::WaitForSingleObject((HANDLE)hThread, INFINITE);
+    return DoSimpleWaitForThread(hThread);
 }