Commit fafee4e2 authored by Benjamin Otte's avatar Benjamin Otte

widget: Emit initial style-set signal in the same situations as GTK2

This ensures that widgets that aren't ported and rely on the style-set
signal being emitted work as well as before. They should not rely on
style-set being emitted however.

Note that this function is a no-op if the initial style has been set
already and is very cheap if it has not been set yet. It only becomes
relevant if the resulting style actually gets used.

https://bugzilla.gnome.org/show_bug.cgi?id=639584
parent af8a6a7a
...@@ -339,6 +339,8 @@ compute_size_for_orientation (GtkWidget *widget, ...@@ -339,6 +339,8 @@ compute_size_for_orientation (GtkWidget *widget,
{ {
gint adjusted_min, adjusted_natural, adjusted_for_size = for_size; gint adjusted_min, adjusted_natural, adjusted_for_size = for_size;
gtk_widget_ensure_style (widget);
if (orientation == GTK_SIZE_GROUP_HORIZONTAL) if (orientation == GTK_SIZE_GROUP_HORIZONTAL)
{ {
if (for_size < 0) if (for_size < 0)
......
...@@ -9201,6 +9201,8 @@ gtk_widget_render_icon (GtkWidget *widget, ...@@ -9201,6 +9201,8 @@ gtk_widget_render_icon (GtkWidget *widget,
GtkIconSize size, GtkIconSize size,
const gchar *detail) const gchar *detail)
{ {
gtk_widget_ensure_style (widget);
return gtk_widget_render_icon_pixbuf (widget, stock_id, size); return gtk_widget_render_icon_pixbuf (widget, stock_id, size);
} }
...@@ -10622,7 +10624,8 @@ gtk_widget_real_destroy (GtkWidget *object) ...@@ -10622,7 +10624,8 @@ gtk_widget_real_destroy (GtkWidget *object)
gtk_grab_remove (widget); gtk_grab_remove (widget);
g_object_unref (priv->style); if (priv->style)
g_object_unref (priv->style);
priv->style = gtk_widget_get_default_style (); priv->style = gtk_widget_get_default_style ();
g_object_ref (priv->style); g_object_ref (priv->style);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment