[gtk+/gtk-3-0] widget: Emit initial style-set signal in the same situations as GTK2
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-0] widget: Emit initial style-set signal in the same situations as GTK2
- Date: Sun, 27 Mar 2011 00:17:34 +0000 (UTC)
commit 6444f30e8195fc0aef6a74f42f26b32c25bf9699
Author: Benjamin Otte <otte redhat com>
Date: Sat Mar 26 23:34:45 2011 +0100
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
gtk/gtksizerequest.c | 2 ++
gtk/gtkwidget.c | 5 ++++-
2 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
index ef96ed0..6d3daad 100644
--- a/gtk/gtksizerequest.c
+++ b/gtk/gtksizerequest.c
@@ -205,6 +205,8 @@ compute_size_for_orientation (GtkWidget *widget,
gint min_size = 0;
gint nat_size = 0;
+ gtk_widget_ensure_style (widget);
+
if (orientation == GTK_SIZE_GROUP_HORIZONTAL)
{
if (for_size < 0)
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index a4fe908..befffff 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -9202,6 +9202,8 @@ gtk_widget_render_icon (GtkWidget *widget,
GtkIconSize size,
const gchar *detail)
{
+ gtk_widget_ensure_style (widget);
+
return gtk_widget_render_icon_pixbuf (widget, stock_id, size);
}
@@ -10623,7 +10625,8 @@ gtk_widget_real_destroy (GtkWidget *object)
gtk_grab_remove (widget);
- g_object_unref (priv->style);
+ if (priv->style)
+ g_object_unref (priv->style);
priv->style = gtk_widget_get_default_style ();
g_object_ref (priv->style);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]