git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44092
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#include "wx/app.h"
#endif
+#include "wx/thread.h"
#include "wx/timer.h"
#include "wx/private/socketevtdispatch.h"
#include "wx/dfb/private.h"
// OnNextIteration() will be called frequently enough
const int TIMEOUT = 100;
- if ( ms_buffer->WaitForEventWithTimeout(0, TIMEOUT) )
+ // release the GUI mutex so that other threads have a chance to post
+ // events:
+ wxMutexGuiLeave();
+
+ bool rv = ms_buffer->WaitForEventWithTimeout(0, TIMEOUT);
+
+ // and acquire it back before calling any event handlers:
+ wxMutexGuiEnter();
+
+ if ( rv )
{
switch ( ms_buffer->GetLastResult() )
{