X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/94b49b9303a9fd119e24d1b07263f5bb0643afa5..57c0af52bffc66b12b7e7b49b3a2dfdcf2d2e352:/src/motif/statbox.cpp diff --git a/src/motif/statbox.cpp b/src/motif/statbox.cpp index 8f16b556ef..c3cda9c6d5 100644 --- a/src/motif/statbox.cpp +++ b/src/motif/statbox.cpp @@ -124,6 +124,20 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, return TRUE; } +wxStaticBox::~wxStaticBox() +{ + DetachWidget(m_formWidget); + DetachWidget(m_mainWidget); + XtDestroyWidget((Widget) m_mainWidget); + if (m_labelWidget) + XtDestroyWidget((Widget) m_labelWidget); + XtDestroyWidget((Widget) m_formWidget); + + m_mainWidget = (WXWidget) 0; + m_labelWidget = (WXWidget) 0; + m_formWidget = (WXWidget) 0; +} + void wxStaticBox::SetLabel(const wxString& label) { if (!m_labelWidget) @@ -168,9 +182,9 @@ wxString wxStaticBox::GetLabel() const } } -void wxStaticBox::SetSize(int x, int y, int width, int height, int sizeFlags) +void wxStaticBox::DoSetSize(int x, int y, int width, int height, int sizeFlags) { - wxControl::SetSize (x, y, width, height, sizeFlags); + wxControl::DoSetSize (x, y, width, height, sizeFlags); if (m_labelWidget) { @@ -194,10 +208,14 @@ void wxStaticBox::ChangeFont(bool keepOriginalSize) void wxStaticBox::ChangeBackgroundColour() { wxWindow::ChangeBackgroundColour(); + if (m_labelWidget) + DoChangeBackgroundColour(m_labelWidget, m_backgroundColour); } void wxStaticBox::ChangeForegroundColour() { wxWindow::ChangeForegroundColour(); + if (m_labelWidget) + DoChangeForegroundColour(m_labelWidget, m_foregroundColour); }