X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/338dd992160bf20205743c092b353d96ef7604fb..268766dd1f2a2d4d593d1d65893f62b5753ff20b:/src/motif/dialog.cpp?ds=sidebyside diff --git a/src/motif/dialog.cpp b/src/motif/dialog.cpp index 2b19f81499..7e8aaf5637 100644 --- a/src/motif/dialog.cpp +++ b/src/motif/dialog.cpp @@ -13,6 +13,13 @@ #pragma implementation "dialog.h" #endif +#ifdef __VMS +#define XtDisplay XTDISPLAY +#define XtWindow XTWINDOW +#define XtParent XTPARENT +#define XtScreen XTSCREEN +#endif + #include "wx/dialog.h" #include "wx/utils.h" #include "wx/frame.h" @@ -68,7 +75,6 @@ extern wxList wxPendingDelete; #define wxUSE_INVISIBLE_RESIZE 1 -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxPanel) BEGIN_EVENT_TABLE(wxDialog, wxPanel) @@ -81,7 +87,6 @@ BEGIN_EVENT_TABLE(wxDialog, wxPanel) EVT_CLOSE(wxDialog::OnCloseWindow) END_EVENT_TABLE() -#endif wxDialog::wxDialog() { @@ -501,6 +506,20 @@ int wxDialog::ShowModal() XtAppNextEvent((XtAppContext) wxTheApp->GetAppContext(), &event); wxTheApp->ProcessXEvent((WXEvent*) &event); + + if (XtAppPending( (XtAppContext) wxTheApp->GetAppContext() ) == 0) + { + if (!wxTheApp->ProcessIdle()) + { +#if wxUSE_THREADS + // leave the main loop to give other threads a chance to + // perform their GUI work + wxMutexGuiLeave(); + wxUsleep(20); + wxMutexGuiEnter(); +#endif + } + } } // Remove modal dialog flag from stack