X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd304d989b2c5c35ac1a849d508cb21f4d54609e..878711c01c1b9ad5b97d35f379a048b8ce1bfb49:/src/motif/frame.cpp diff --git a/src/motif/frame.cpp b/src/motif/frame.cpp index becd7bf078..f65136d32d 100644 --- a/src/motif/frame.cpp +++ b/src/motif/frame.cpp @@ -36,6 +36,7 @@ #include "wx/utils.h" #include "wx/log.h" #include "wx/app.h" +#include "wx/icon.h" #ifdef __VMS__ #pragma message disable nosimpint @@ -169,8 +170,8 @@ bool wxFrame::Create(wxWindow *parent, SetTitle( title ); wxLogTrace(wxTRACE_Messages, - "Created frame (0x%08x) with work area 0x%08x and client " - "area 0x%08x", m_mainWidget, m_workArea, m_clientArea); + "Created frame (0x%p) with work area 0x%p and client " + "area 0x%p", m_mainWidget, m_workArea, m_clientArea); XtAddEventHandler((Widget) m_clientArea, ExposureMask,FALSE, wxUniversalRepaintProc, (XtPointer) this); @@ -309,15 +310,19 @@ wxFrame::~wxFrame() delete m_frameStatusBar; m_frameStatusBar = NULL; } + + PreDestroy(); + DoDestroy(); } void wxFrame::DoDestroy() { Widget frameShell = (Widget)GetShellWidget(); - XtRemoveEventHandler( frameShell, StructureNotifyMask, - False, (XtEventHandler)wxFrameMapProc, - (XtPointer)this ); + if( frameShell ) + XtRemoveEventHandler( frameShell, StructureNotifyMask, + False, (XtEventHandler)wxFrameMapProc, + (XtPointer)this ); if( m_clientArea ) { @@ -500,10 +505,12 @@ void wxFrame::DoSetIcon(const wxIcon& icon) if (!m_frameShell) return; - if (!icon.Ok() || !icon.GetPixmap()) + if (!icon.Ok() || !icon.GetDrawable()) return; - XtVaSetValues((Widget) m_frameShell, XtNiconPixmap, icon.GetPixmap(), NULL); + XtVaSetValues((Widget) m_frameShell, + XtNiconPixmap, icon.GetDrawable(), + NULL); } void wxFrame::SetIcon(const wxIcon& icon) @@ -655,7 +662,7 @@ void wxFrame::PositionToolBar() tw = cw; } - tb->SetSize(0, 0, tw, th, wxSIZE_NO_ADJUSTMENTS); + tb->SetSize(0, 0, -1, -1, wxSIZE_NO_ADJUSTMENTS); } } #endif // wxUSE_TOOLBAR