#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))
{
{
// got WM_QUIT
m_keepGoing = FALSE;
-
+
return FALSE;
}
else if ( rc == -1 )
{
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;
}