X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..d6379fa35ae3de7140bd79623fc7ffeb9e6d6be1:/src/gtk1/app.cpp diff --git a/src/gtk1/app.cpp b/src/gtk1/app.cpp index eccbb52d0a..704c36a921 100644 --- a/src/gtk1/app.cpp +++ b/src/gtk1/app.cpp @@ -13,6 +13,7 @@ #ifdef __VMS #include +#undef ConnectionNumber #endif #include "wx/app.h" @@ -237,8 +238,12 @@ static gint wxapp_idle_callback( gpointer WXUNUSED(data) ) // But repaint the assertion message if necessary if (wxTopLevelWindows.GetCount() > 0) { - wxWindow* win = (wxWindow*) wxTopLevelWindows.Last()->Data(); + wxWindow* win = (wxWindow*) wxTopLevelWindows.GetLast()->GetData(); +#ifdef __WXGTK20__ + if (win->IsKindOf(CLASSINFO(wxMessageDialog))) +#else if (win->IsKindOf(CLASSINFO(wxGenericMessageDialog))) +#endif win->OnInternalIdle(); } return TRUE; @@ -607,13 +612,13 @@ bool wxApp::CallInternalIdle( wxWindow* win ) { win->OnInternalIdle(); - wxNode* node = win->GetChildren().First(); + wxWindowList::Node *node = win->GetChildren().GetFirst(); while (node) { - wxWindow* win = (wxWindow*) node->Data(); - CallInternalIdle( win ); + wxWindow *win = node->GetData(); - node = node->Next(); + CallInternalIdle( win ); + node = node->GetNext(); } return TRUE; @@ -631,14 +636,14 @@ bool wxApp::SendIdleEvents( wxWindow* win ) if (event.MoreRequested()) needMore = TRUE; - wxNode* node = win->GetChildren().First(); + wxWindowList::Node *node = win->GetChildren().GetFirst(); while (node) { - wxWindow* win = (wxWindow*) node->Data(); + wxWindow *win = node->GetData(); + if (SendIdleEvents(win)) needMore = TRUE; - - node = node->Next(); + node = node->GetNext(); } return needMore; @@ -673,17 +678,17 @@ void wxApp::Dispatch() void wxApp::DeletePendingObjects() { - wxNode *node = wxPendingDelete.First(); + wxNode *node = wxPendingDelete.GetFirst(); while (node) { - wxObject *obj = (wxObject *)node->Data(); + wxObject *obj = (wxObject *)node->GetData(); delete obj; if (wxPendingDelete.Find(obj)) delete node; - node = wxPendingDelete.First(); + node = wxPendingDelete.GetFirst(); } }