X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ca580f6fb988ec1f7574e532260c322ba4db00e..6c5ac6e1f1a5a3400b51f3bf61d061cf3ed3857a:/src/motif/app.cpp diff --git a/src/motif/app.cpp b/src/motif/app.cpp index 1cba260bf5..fa1fd15f66 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" @@ -731,8 +736,18 @@ void wxExit() } // Yield to other processes + +static bool gs_inYield = FALSE; + bool wxYield() { +#ifdef __WXDEBUG__ + if (gs_inYield) + wxFAIL_MSG( wxT("wxYield called recursively" ) ); +#endif + + gs_inYield = TRUE; + while (wxTheApp && wxTheApp->Pending()) wxTheApp->Dispatch(); @@ -741,9 +756,21 @@ bool wxYield() XtAppProcessEvent((XtAppContext) wxTheApp->GetAppContext(), XtIMAll); #endif + gs_inYield = FALSE; + return TRUE; } +// Yield to incoming messages; but fail silently if recursion is detected. +bool wxYieldIfNeeded() +{ + if (gs_inYield) + return FALSE; + + return wxYield(); +} + + // TODO use XmGetPixmap (?) to get the really standard icons! #include "wx/generic/info.xpm"