/////////////////////////////////////////////////////////////////////////////
// Name: src/common/appcmn.cpp
-// Purpose: wxAppConsole and wxAppBase methods common to all platforms
+// Purpose: wxAppBase methods common to all platforms
// Author: Vadim Zeitlin
// Modified by:
// Created: 18.10.99
wxAppBase::wxAppBase()
{
- m_topWindow = (wxWindow *)NULL;
+ m_topWindow = NULL;
m_useBestVisual = false;
m_forceTrueColour = false;
m_isActive = true;
+ m_isInsideYield = false;
+
// We don't want to exit the app if the user code shows a dialog from its
// OnInit() -- but this is what would happen if we set m_exitOnFrameDelete
// to Yes initially as this dialog would be the last top level window.
// Returns true if more time is needed.
bool wxAppBase::ProcessIdle()
{
- // process pending wx events before sending idle events
- ProcessPendingEvents();
-
+ // call the base class version first, it will process the pending events
+ // (which should be done before the idle events generation) and send the
+ // idle event to wxTheApp itself
+ bool needMore = wxAppConsoleBase::ProcessIdle();
wxIdleEvent event;
- bool needMore = false;
wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst();
while (node)
{
node = node->GetNext();
}
- if (wxAppConsole::ProcessIdle())
- needMore = true;
-
// 'Garbage' collection of windows deleted with Close().
DeletePendingObjects();