summaryrefslogtreecommitdiff
path: root/gtk/gtklayout.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtklayout.c')
-rw-r--r--gtk/gtklayout.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c
index 3948fb0fd7..73831f8f43 100644
--- a/gtk/gtklayout.c
+++ b/gtk/gtklayout.c
@@ -101,6 +101,8 @@ static void gtk_layout_allocate_child (GtkLayout *layout,
GtkLayoutChild *child);
static void gtk_layout_adjustment_changed (GtkAdjustment *adjustment,
GtkLayout *layout);
+static void gtk_layout_style_set (GtkWidget *widget,
+ GtkStyle *old_style);
static GtkWidgetClass *parent_class = NULL;
@@ -630,6 +632,7 @@ gtk_layout_class_init (GtkLayoutClass *class)
widget_class->size_request = gtk_layout_size_request;
widget_class->size_allocate = gtk_layout_size_allocate;
widget_class->expose_event = gtk_layout_expose;
+ widget_class->style_set = gtk_layout_style_set;
container_class->remove = gtk_layout_remove;
container_class->forall = gtk_layout_forall;
@@ -834,6 +837,18 @@ gtk_layout_realize (GtkWidget *widget)
}
}
+static void
+gtk_layout_style_set (GtkWidget *widget, GtkStyle *old_style)
+{
+ if (GTK_WIDGET_CLASS (parent_class)->style_set)
+ (* GTK_WIDGET_CLASS (parent_class)->style_set) (widget, old_style);
+
+ if (GTK_WIDGET_REALIZED (widget))
+ {
+ gtk_style_set_background (widget->style, GTK_LAYOUT (widget)->bin_window, GTK_STATE_NORMAL);
+ }
+}
+
static void
gtk_layout_map (GtkWidget *widget)
{