X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57bd4c6031d438f11af0ec540136f49a928b923c..ce7208d49d5ce2ca1dc0b3b83f14f1d04f29c4bf:/src/common/appbase.cpp diff --git a/src/common/appbase.cpp b/src/common/appbase.cpp index 40706d3aee..697aa2dd87 100644 --- a/src/common/appbase.cpp +++ b/src/common/appbase.cpp @@ -215,24 +215,6 @@ void wxAppConsole::Exit() exit(-1); } -wxLayoutDirection wxAppConsole::GetLayoutDirection() const -{ -#if wxUSE_INTL - const wxLocale *const locale = wxGetLocale(); - if ( locale ) - { - const wxLanguageInfo *const - info = wxLocale::GetLanguageInfo(locale->GetLanguage()); - - if ( info ) - return info->LayoutDirection; - } -#endif // wxUSE_INTL - - // we don't know - return wxLayout_Default; -} - // ---------------------------------------------------------------------------- // traits stuff // ---------------------------------------------------------------------------- @@ -298,6 +280,15 @@ void wxAppConsole::ProcessPendingEvents() // iterate until the list becomes empty wxList::compatibility_iterator node = wxPendingEvents->GetFirst(); + + while (node && + ((wxEvtHandler *)node->GetData())->IsEventHandlingInProgress() && + ((wxEvtHandler *)node->GetData())->IsReentranceAllowed() == false) + { + // skip over event + node = node->GetNext(); + } + while (node) { wxEvtHandler *handler = (wxEvtHandler *)node->GetData(); @@ -312,6 +303,14 @@ void wxAppConsole::ProcessPendingEvents() wxENTER_CRIT_SECT( *wxPendingEventsLocker ); node = wxPendingEvents->GetFirst(); + + while (node && + ((wxEvtHandler *)node->GetData())->IsEventHandlingInProgress() && + ((wxEvtHandler *)node->GetData())->IsReentranceAllowed() == false) + { + // skip over event + node = node->GetNext(); + } } wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );