X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b135950383287e57c465f19879238fb7150a2fa..1457ea31cd11c696f2580c09438f1a1756869a4c:/src/motif/combobox_native.cpp diff --git a/src/motif/combobox_native.cpp b/src/motif/combobox_native.cpp index 1b2305ca82..242a507bd9 100644 --- a/src/motif/combobox_native.cpp +++ b/src/motif/combobox_native.cpp @@ -80,6 +80,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, { if( !CreateControl( parent, id, pos, size, style, validator, name ) ) return false; + PreCreation(); Widget parentWidget = (Widget) parent->GetClientWidget(); @@ -106,8 +107,6 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, SetValue(value); - ChangeFont(false); - XtAddCallback (buttonWidget, XmNselectionCallback, (XtCallbackProc) wxComboBoxCallback, (XtPointer) this); @@ -119,11 +118,10 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, if( size.x != wxDefaultCoord ) best.x = size.x; if( size.y != wxDefaultCoord ) best.y = size.y; + PostCreation(); AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, best.x, best.y); - ChangeBackgroundColour(); - return true; } @@ -197,10 +195,8 @@ void wxComboBox::SetValue(const wxString& value) { m_inSetValue = true; - // Fix crash; probably an OpenMotif bug - const char* val = value.c_str() ? value.c_str() : ""; XtVaSetValues( GetXmText(this), - XmNvalue, wxConstCast(val, char), + XmNvalue, value.mb_str(), NULL); m_inSetValue = false; @@ -409,7 +405,7 @@ void wxComboBoxCallback (Widget WXUNUSED(w), XtPointer clientData, void wxComboBox::ChangeFont(bool keepOriginalSize) { - if( m_font.Ok() ) + if( m_font.Ok() && m_mainWidget != NULL ) { wxDoChangeFont( GetXmText(this), m_font ); wxDoChangeFont( GetXmList(this), m_font );