summaryrefslogtreecommitdiff
path: root/gtk/gtkcontainer.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkcontainer.c')
-rw-r--r--gtk/gtkcontainer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 86501d7040..090b4d7100 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -3686,8 +3686,9 @@ gtk_container_should_propagate_draw (GtkContainer *container,
static void
union_with_clip (GtkWidget *widget,
- gpointer clip)
+ gpointer data)
{
+ GdkRectangle *clip = data;
GtkAllocation widget_clip;
if (!gtk_widget_is_visible (widget) ||
@@ -3696,7 +3697,10 @@ union_with_clip (GtkWidget *widget,
gtk_widget_get_clip (widget, &widget_clip);
- gdk_rectangle_union (&widget_clip, clip, clip);
+ if (clip->width == 0 || clip->height == 0)
+ *clip = widget_clip;
+ else
+ gdk_rectangle_union (&widget_clip, clip, clip);
}
void