X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fa87bd948a00e9cc2a31a577663c344632f521c..70dcce790678c6c68f152ce32ed9d4206fd84206:/src/gtk/button.cpp?ds=sidebyside diff --git a/src/gtk/button.cpp b/src/gtk/button.cpp index e3a010662f..629420edf7 100644 --- a/src/gtk/button.cpp +++ b/src/gtk/button.cpp @@ -127,11 +127,12 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, else if (HasFlag(wxBU_BOTTOM)) y_alignment = 1.0; -#ifdef __WXGTK20__ +#if GTK_CHECK_VERSION(2,4,0) gtk_button_set_alignment(GTK_BUTTON(m_widget), x_alignment, y_alignment); #else - gtk_misc_set_alignment (GTK_MISC (BUTTON_CHILD (m_widget)), - x_alignment, y_alignment); + if (GTK_IS_MISC(BUTTON_CHILD(m_widget))) + gtk_misc_set_alignment (GTK_MISC (BUTTON_CHILD (m_widget)), + x_alignment, y_alignment); #endif if (!label.empty()) @@ -156,9 +157,19 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, wxStockItemID stock, const wxValidator& validator, const wxString& name) { #ifdef __WXGTK20__ - m_widget = gtk_button_new_from_stock(wxStockItemToGTK(stock)); - return Create(parent, id, wxEmptyString, - pos, wxDefaultSize, style, validator, name); + const char *gtkstock = wxStockItemToGTK(stock); + if (gtkstock) + { + m_widget = gtk_button_new_from_stock(gtkstock); + return Create(parent, id, wxEmptyString, + pos, wxDefaultSize, style, validator, name); + } + else + { + // not supported by this GTK+ version + return Create(parent, id, wxGetStockItemLabel(stock), + pos, wxDefaultSize, style, validator, name); + } #else return CreateStock(parent, id, stock, descriptiveLabel, pos, style, validator, name);