From 978d97ea6f3b539f5fa20d2944b27d32328f2393 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 2 Aug 2010 17:24:27 +0200 Subject: [PATCH] GtkWidget: Set style context direction. --- gtk/gtkwidget.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8321dc9e05..af4497b887 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9578,7 +9578,17 @@ gtk_widget_set_direction (GtkWidget *widget, widget->priv->direction = dir; if (old_dir != gtk_widget_get_direction (widget)) - gtk_widget_emit_direction_changed (widget, old_dir); + { + GtkStyleContext *context; + + context = g_object_get_qdata (G_OBJECT (widget), quark_style_context); + + if (context) + gtk_style_context_set_direction (context, + gtk_widget_get_direction (widget)); + + gtk_widget_emit_direction_changed (widget, old_dir); + } } /** @@ -13270,7 +13280,11 @@ gtk_widget_get_style_context (GtkWidget *widget) GtkCssProvider *default_provider; GtkWidgetPath *path; - context = g_object_new (GTK_TYPE_STYLE_CONTEXT, NULL); + context = g_object_new (GTK_TYPE_STYLE_CONTEXT, + "direction", gtk_widget_get_direction (widget), + NULL); + + g_object_set_qdata_full (G_OBJECT (widget), quark_style_context, context, (GDestroyNotify) g_object_unref);