]> git.saurik.com Git - wxWidgets.git/commitdiff
more thread fixes
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 17 Jan 1999 22:42:06 +0000 (22:42 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 17 Jan 1999 22:42:06 +0000 (22:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/app.cpp

index de414f743c56e5c1b4f1e35bf0263b91144b28e3..8913359f9b52240efea05947c439e338b5c40055 100644 (file)
@@ -191,14 +191,14 @@ bool wxApp::Initialize()
 #endif
 
     int iMsg = 96;
-                       
+
    // for OLE, enlarge message queue to be as large as possible
    while (!SetMessageQueue(iMsg) && (iMsg -= 8));
 
 /*
     DWORD dwOleVer;
     dwOleVer = CoBuildVersion();
-       
+
     // check the OLE library version
     if (rmm != HIWORD(dwOleVer))
     {
@@ -774,7 +774,7 @@ bool wxApp::DoMessage()
     {
         // got WM_QUIT
         m_keepGoing = FALSE;
-        
+
         return FALSE;
     }
     else if ( rc == -1 )
@@ -798,7 +798,13 @@ bool wxApp::DoMessage()
         {
             s_hadGuiLock = FALSE;
 
-            s_aSavedMessages.Add(s_currentMsg);
+            // leave out WM_COMMAND messages: too dangerous, sometimes
+            // the message will be processed twice
+            if ( !wxIsWaitingForThread() ||
+                 s_currentMsg.message != WM_COMMAND )
+            {
+                s_aSavedMessages.Add(s_currentMsg);
+            }
 
             return TRUE;
         }