#include "wx/memory.h"
#include "wx/gdicmn.h"
#include "wx/module.h"
+ #include "wx/crt.h"
#endif
#include "wx/evtloop.h"
int i;
for (i = 0; i < 2; i++)
{
- static bool s_inYield = false;
-
- if ( s_inYield )
+ if ( m_isInsideYield )
{
if ( !onlyIfNeeded )
{
return false;
}
- s_inYield = true;
+ m_isInsideYield = true;
// Make sure we have an event loop object,
// or Pending/Dispatch will fail
- wxEventLoopBase * const eventLoop = wxEventLoop::GetActive();
- wxEventLoop* newEventLoop = NULL;
- if (!eventLoop)
- {
- newEventLoop = new wxEventLoop;
- wxEventLoop::SetActive(newEventLoop);
- }
+ wxEventLoopGuarantor dummyLoopIfNeeded;
// Call dispatch at least once so that sockets
// can be tested
#endif
ProcessIdle();
- if (newEventLoop)
- {
- wxEventLoop::SetActive(NULL);
- delete newEventLoop;
- }
-
- s_inYield = false;
+ m_isInsideYield = false;
}
return true;