X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e5bf041b0de59abab9072b3e218ac3ac4670407..29a35dd5fee0e33143a39824e71aefd66e3e4851:/src/common/appcmn.cpp diff --git a/src/common/appcmn.cpp b/src/common/appcmn.cpp index d3768ba4a7..61930ed1f5 100644 --- a/src/common/appcmn.cpp +++ b/src/common/appcmn.cpp @@ -50,8 +50,6 @@ #include "wx/build.h" WX_CHECK_BUILD_OPTIONS("wxCore") -WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete; - // ============================================================================ // wxAppBase implementation // ============================================================================ @@ -244,7 +242,7 @@ bool wxAppBase::OnCmdLineParsed(wxCmdLineParser& parser) if ( parser.Found(OPTION_MODE, &modeDesc) ) { unsigned w, h, bpp; - if ( wxSscanf(modeDesc.c_str(), _T("%ux%u-%u"), &w, &h, &bpp) != 3 ) + if ( wxSscanf(modeDesc.c_str(), wxT("%ux%u-%u"), &w, &h, &bpp) != 3 ) { wxLogError(_("Invalid display mode specification '%s'."), modeDesc.c_str()); return false; @@ -341,33 +339,11 @@ bool wxAppBase::SafeYieldFor(wxWindow *win, long eventsToProcess) // idle handling // ---------------------------------------------------------------------------- -void wxAppBase::DeletePendingObjects() -{ - wxList::compatibility_iterator node = wxPendingDelete.GetFirst(); - while (node) - { - wxObject *obj = node->GetData(); - - // remove it from the list first so that if we get back here somehow - // during the object deletion (e.g. wxYield called from its dtor) we - // wouldn't try to delete it the second time - if ( wxPendingDelete.Member(obj) ) - wxPendingDelete.Erase(node); - - delete obj; - - // Deleting one object may have deleted other pending - // objects, so start from beginning of list again. - node = wxPendingDelete.GetFirst(); - } -} - // Returns true if more time is needed. bool wxAppBase::ProcessIdle() { - // 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 + // call the base class version first to send the idle event to wxTheApp + // itself bool needMore = wxAppConsoleBase::ProcessIdle(); wxIdleEvent event; wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst(); @@ -379,9 +355,6 @@ bool wxAppBase::ProcessIdle() node = node->GetNext(); } - // 'Garbage' collection of windows deleted with Close(). - DeletePendingObjects(); - #if wxUSE_LOG // flush the logged messages if any wxLog::FlushActive(); @@ -501,7 +474,7 @@ bool wxGUIAppTraitsBase::ShowAssertDialog(const wxString& msg) const wxString stackTrace = GetAssertStackTrace(); if ( !stackTrace.empty() ) - msgDlg << _T("\n\nCall stack:\n") << stackTrace; + msgDlg << wxT("\n\nCall stack:\n") << stackTrace; #endif // wxUSE_STACKWALKER // this message is intentionally not translated -- it is for @@ -544,14 +517,3 @@ bool wxGUIAppTraitsBase::HasStderr() #endif } -void wxGUIAppTraitsBase::ScheduleForDestroy(wxObject *object) -{ - if ( !wxPendingDelete.Member(object) ) - wxPendingDelete.Append(object); -} - -void wxGUIAppTraitsBase::RemoveFromPendingDelete(wxObject *object) -{ - wxPendingDelete.DeleteObject(object); -} -