]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
Use locale-specific decimal point in wxNumericPropertyValidator (fixes #12790)
[wxWidgets.git] / src / msw / app.cpp
index f1e9f0416579a513db97224c38e407296b3a359d..c69c55ffa4e19c829944cb23b099fa3e3c191a34 100644 (file)
@@ -128,10 +128,8 @@ struct ClassRegInfo
     }
 
     // the name of the registered class with and without CS_[HV]REDRAW styles
-    const wxString regname;
-    const wxString regnameNR;
-
-    wxDECLARE_NO_ASSIGN_CLASS(ClassRegInfo);
+    wxString regname;
+    wxString regnameNR;
 };
 
 namespace
@@ -237,11 +235,12 @@ bool wxGUIAppTraits::DoMessageFromThreadWait()
 
 DWORD wxGUIAppTraits::WaitForThread(WXHANDLE hThread)
 {
-    // if we don't have a running event loop, we shouldn't wait for the
-    // messages as we never remove them from the message queue and so we enter
-    // an infinite loop as MsgWaitForMultipleObjects() keeps returning
-    // WAIT_OBJECT_0 + 1
-    if ( !wxEventLoop::GetActive() )
+    // We only ever dispatch messages from the main thread and, additionally,
+    // even from the main thread we shouldn't wait for the message if we don't
+    // have a running event loop as we would never remove them from the message
+    // queue then and so we would enter an infinite loop as
+    // MsgWaitForMultipleObjects() keeps returning WAIT_OBJECT_0 + 1.
+    if ( !wxIsMainThread() || !wxEventLoop::GetActive() )
         return DoSimpleWaitForThread(hThread);
 
     return ::MsgWaitForMultipleObjects
@@ -298,6 +297,8 @@ wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
 
 #ifndef __WXWINCE__
 
+#if wxUSE_DYNLIB_CLASS
+
 #include <wx/dynlib.h>
 
 namespace
@@ -574,6 +575,20 @@ bool wxGUIAppTraits::WriteToStderr(const wxString& text)
     return s_consoleStderr.IsOkToUse() && s_consoleStderr.Write(text);
 }
 
+#else // !wxUSE_DYNLIB_CLASS
+
+bool wxGUIAppTraits::CanUseStderr()
+{
+    return false;
+}
+
+bool wxGUIAppTraits::WriteToStderr(const wxString& WXUNUSED(text))
+{
+    return false;
+}
+
+#endif // wxUSE_DYNLIB_CLASS/!wxUSE_DYNLIB_CLASS
+
 #endif // !__WXWINCE__
 
 // ===========================================================================