X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e838cc14684f8dfd4ede39e4649e04a5bd79d149..6ba636000f13b4bf7d3e7dcfad429713085f6700:/src/motif/app.cpp diff --git a/src/motif/app.cpp b/src/motif/app.cpp index 53b01e0f35..d1899f78a6 100644 --- a/src/motif/app.cpp +++ b/src/motif/app.cpp @@ -13,6 +13,11 @@ #pragma implementation "app.h" #endif +#ifdef __VMS +#define XtParent XTPARENT +#define XtDisplay XTDISPLAY +#endif + #include "wx/frame.h" #include "wx/app.h" #include "wx/utils.h" @@ -349,7 +354,7 @@ void wxApp::ProcessXEvent(WXEvent* _event) if (event->type == KeyPress) { -#ifdef __WXDEBUG__ +#if 0 // def __WXDEBUG__ Widget widget = XtWindowToWidget(event->xany.display, event->xany.window); wxLogDebug("Got key press event for 0x%08x (parent = 0x%08x)", widget, XtParent(widget)); @@ -477,13 +482,20 @@ void wxApp::OnIdle(wxIdleEvent& event) inOnIdle = TRUE; - // 'Garbage' collection of windows deleted with Close(). - DeletePendingObjects(); + // If there are pending events, we must process them: pending events + // are either events to the threads other than main or events posted + // with wxPostEvent() functions + // GRG: I have moved this here so that all pending events are processed + // before starting to delete any objects. This behaves better (in + // particular, wrt wxPostEvent) and is coherent with wxGTK's current + // behaviour. Also removed the '#if wxUSE_THREADS' around it. + // Changed Mar/2000 before 2.1.14 -#if wxUSE_THREADS // Flush pending events. ProcessPendingEvents(); -#endif + + // 'Garbage' collection of windows deleted with Close(). + DeletePendingObjects(); // flush the logged messages if any wxLog *pLog = wxLog::GetActiveTarget();