fix changing font/colour of label in buttons with images (#3939) [backport from trunk]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-08-23 18:17:12 +00:00
parent e3959a350e
commit d060ae855f
2 changed files with 14 additions and 1 deletions

View File

@@ -147,6 +147,7 @@ wxGTK:
- Fixed generation of events for an initially empty wxDirPickerCtrl.
- Fixed detection of Meta key state so that NumLock isn't misdetected
as Meta (requires GTK+ 2.10).
- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
wxMac:

View File

@@ -265,7 +265,19 @@ GdkWindow *wxButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
void wxButton::DoApplyWidgetStyle(GtkRcStyle *style)
{
gtk_widget_modify_style(m_widget, style);
gtk_widget_modify_style(GTK_BIN(m_widget)->child, style);
GtkWidget *child = GTK_BIN(m_widget)->child;
gtk_widget_modify_style(child, style);
// in gtk+ 2.12, in case of button with image, the path to the label is:
// GtkButton -> GtkAlignment -> GtkHBox -> GtkLabel
if (GTK_IS_ALIGNMENT (child)) {
GtkWidget *box = GTK_BIN(child)->child;
if (GTK_IS_BOX (box)) {
GList *items = gtk_container_get_children(GTK_CONTAINER(box));
for (GList *item = items; item; item = item->next)
gtk_widget_modify_style(GTK_WIDGET(item->data), style);
}
}
}
wxSize wxButton::DoGetBestSize() const