Commit da31eb4f authored by Matthias Clasen's avatar Matthias Clasen

container: Don't create too-large clips

gdk_rectangle_union will happily add all the worlds pixels
to the union if the initial rectangle is initialized to all
zeros. Therefore, explicitly check for an empty rectangle
before calling it.
parent 51f05a00
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment