X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fce127d758a53bec28bce0c66f52a2e03ae9bf4b..357f4c818d25cd63efc90363cc48d79c76f2faf1:/src/motif/window.cpp diff --git a/src/motif/window.cpp b/src/motif/window.cpp index 95000fe071..c539b36fba 100644 --- a/src/motif/window.cpp +++ b/src/motif/window.cpp @@ -20,12 +20,6 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#ifdef __VMS -#define XtDisplay XTDISPLAY -#define XtWindow XTWINDOW -#define XtScreen XTSCREEN -#endif - #ifndef WX_PRECOMP #include "wx/hash.h" #include "wx/log.h" @@ -41,6 +35,7 @@ #include "wx/layout.h" #include "wx/menuitem.h" #include "wx/module.h" + #include "wx/unix/utilsx11.h" #endif #include "wx/evtloop.h" @@ -351,11 +346,11 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id, // Destructor wxWindow::~wxWindow() { + SendDestroyEvent(); + if (g_captureWindow == this) g_captureWindow = NULL; - m_isBeingDeleted = true; - // Motif-specific actions first WXWidget wMain = GetMainWidget(); if ( wMain ) @@ -563,7 +558,7 @@ wxWindow *wxWindowBase::DoFindFocus() // currently active. // (2) The widget with the focus may not be in the widget table // depending on which widgets I put in the table - wxWindow *winFocus = (wxWindow *)NULL; + wxWindow *winFocus = NULL; for ( wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst(); node; node = node->GetNext() ) @@ -1089,7 +1084,6 @@ bool wxWindow::DoPopupMenu(wxMenu *menu, int x, int y) menu->SetId(1); /* Mark as popped-up */ menu->CreateMenu(NULL, widget, menu, 0); - menu->SetInvokingWindow(this); menu->UpdateUI(); @@ -1484,10 +1478,11 @@ int wxWindow::GetCharWidth() const return width; } -void wxWindow::GetTextExtent(const wxString& string, - int *x, int *y, - int *descent, int *externalLeading, - const wxFont *theFont) const +void wxWindow::DoGetTextExtent(const wxString& string, + int *x, int *y, + int *descent, + int *externalLeading, + const wxFont *theFont) const { const wxFont *fontToUse = theFont ? theFont : &m_font; @@ -1663,7 +1658,7 @@ void wxWindow::OnInternalIdle() { // This calls the UI-update mechanism (querying windows for // menu/toolbar/control state information) - if (wxUpdateUIEvent::CanUpdate(this) && IsShown()) + if (wxUpdateUIEvent::CanUpdate(this) && IsShownOnScreen()) UpdateWindowUI(wxUPDATE_UI_FROMIDLE); } @@ -1870,7 +1865,7 @@ WXDisplay *wxWindow::GetXDisplay() const if ( wMain ) return (WXDisplay*) XtDisplay(wMain); else - return (WXDisplay*) NULL; + return NULL; } WXWidget wxWindow::GetMainWidget() const @@ -2103,7 +2098,7 @@ static void wxScrollBarCallback(Widget scrollbar, XmScrollBarCallbackStruct *cbs) { wxWindow *win = wxGetWindowFromTable(scrollbar); - wxCHECK_RET( win, _T("invalid widget in scrollbar callback") ); + wxCHECK_RET( win, wxT("invalid widget in scrollbar callback") ); wxOrientation orientation = (wxOrientation)wxPtrToUInt(clientData);