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:
committed by
Matthias Clasen
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>
|
2006-06-08 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkprintoperation-unix.c (finish_print):
|
* 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>
|
2006-06-08 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkprintoperation-unix.c (finish_print):
|
* gtk/gtkprintoperation-unix.c (finish_print):
|
||||||
|
|||||||
@ -1004,11 +1004,40 @@ gtk_button_unmap (GtkWidget *widget)
|
|||||||
GTK_WIDGET_CLASS (gtk_button_parent_class)->unmap (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
|
static void
|
||||||
gtk_button_style_set (GtkWidget *widget,
|
gtk_button_style_set (GtkWidget *widget,
|
||||||
GtkStyle *prev_style)
|
GtkStyle *prev_style)
|
||||||
{
|
{
|
||||||
gtk_button_construct_child (GTK_BUTTON (widget));
|
gtk_button_update_image_spacing (GTK_BUTTON (widget));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user