mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 13:11:13 +00:00
Don't call construct_child here, since some apps make assumptions about
2006-06-08 Matthias Clasen <mclasen@redhat.com> * gtk/gtkbutton.c (gtk_button_style_set): Don't call construct_child here, since some apps make assumptions about the lifecycle of the constructed label.
This commit is contained in:
parent
fd3b835e29
commit
bb6b1f152f
@ -1,3 +1,9 @@
|
||||
2006-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_style_set): Don't call
|
||||
construct_child here, since some apps make assumptions
|
||||
about the lifecycle of the constructed label.
|
||||
|
||||
2006-06-08 Alexander Larsson <alexl@redhat.com>
|
||||
|
||||
* gtk/gtkprintoperation-unix.c (finish_print):
|
||||
|
@ -1,3 +1,9 @@
|
||||
2006-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_style_set): Don't call
|
||||
construct_child here, since some apps make assumptions
|
||||
about the lifecycle of the constructed label.
|
||||
|
||||
2006-06-08 Alexander Larsson <alexl@redhat.com>
|
||||
|
||||
* gtk/gtkprintoperation-unix.c (finish_print):
|
||||
|
@ -1004,11 +1004,40 @@ gtk_button_unmap (GtkWidget *widget)
|
||||
GTK_WIDGET_CLASS (gtk_button_parent_class)->unmap (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_button_update_image_spacing (GtkButton *button)
|
||||
{
|
||||
GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
|
||||
GtkWidget *child;
|
||||
gint spacing;
|
||||
|
||||
/* Keep in sync with gtk_button_construct_child,
|
||||
* we only want to update the spacing if the box
|
||||
* was constructed there.
|
||||
*/
|
||||
if (!button->constructed || !priv->image)
|
||||
return;
|
||||
|
||||
child = GTK_BIN (button)->child;
|
||||
if (GTK_IS_ALIGNMENT (child))
|
||||
{
|
||||
child = GTK_BIN (child)->child;
|
||||
if (GTK_IS_BOX (child))
|
||||
{
|
||||
gtk_widget_style_get (GTK_WIDGET (button),
|
||||
"image-spacing", &spacing,
|
||||
NULL);
|
||||
|
||||
gtk_box_set_spacing (GTK_BOX (child), spacing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_button_style_set (GtkWidget *widget,
|
||||
GtkStyle *prev_style)
|
||||
{
|
||||
gtk_button_construct_child (GTK_BUTTON (widget));
|
||||
gtk_button_update_image_spacing (GTK_BUTTON (widget));
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user