[gtk+/gtk-style-context: 149/206] GtkWidget: Construct style for partial widget hierarchies.
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-style-context: 149/206] GtkWidget: Construct style for partial widget hierarchies.
- Date: Mon, 23 Aug 2010 17:27:27 +0000 (UTC)
commit 549d6e7989732720a4555d362d953c42a0e9ddd5
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Aug 2 16:11:40 2010 +0200
GtkWidget: Construct style for partial widget hierarchies.
Some unparented widgets like to ask style details, so now the style is
constructed regardless of the parent being present or not, and then
reconstructed if the parent changes.
gtk/gtkwidget.c | 17 ++++++-----------
1 files changed, 6 insertions(+), 11 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index ae7abac..18f2681 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -11590,7 +11590,6 @@ gtk_widget_get_path (GtkWidget *widget)
GList *regions, *reg;
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- g_return_val_if_fail ((widget->parent || gtk_widget_is_toplevel (widget)), NULL);
parent = widget->parent;
path = gtk_widget_path_new ();
@@ -11639,6 +11638,7 @@ gtk_widget_get_style_context (GtkWidget *widget)
if (G_UNLIKELY (!context))
{
static GtkCssProvider *css_provider = NULL;
+ GtkWidgetPath *path;
context = g_object_new (GTK_TYPE_STYLE_CONTEXT, NULL);
g_object_set_qdata_full (G_OBJECT (widget),
@@ -11669,18 +11669,13 @@ gtk_widget_get_style_context (GtkWidget *widget)
GTK_STYLE_PROVIDER (css_provider),
GTK_STYLE_PROVIDER_PRIORITY_USER);
- if (widget->parent ||
- gtk_widget_is_toplevel (widget))
- {
- GtkWidgetPath *path;
- path = gtk_widget_get_path (widget);
- gtk_style_context_set_path (context, path);
- gtk_widget_path_free (path);
+ path = gtk_widget_get_path (widget);
+ gtk_style_context_set_path (context, path);
+ gtk_widget_path_free (path);
- gtk_style_context_set_screen (context,
- gtk_widget_get_screen (widget));
- }
+ gtk_style_context_set_screen (context,
+ gtk_widget_get_screen (widget));
}
return context;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]