From 2ff36af7e1841a82fd43a9317d07b3229a309df5 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 16 Jun 2011 11:23:16 +0100 Subject: [PATCH] sna/accel: Prevent initialising a region with an invalid box pixman complains if you attempt to use a region created with an invalid box, so don't do that. Reported-by: Reinhard Karcher Signed-off-by: Chris Wilson --- src/sna/sna_accel.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 9e03caf5..0a0cd8fb 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -969,6 +969,8 @@ sna_put_image(DrawablePtr drawable, GCPtr gc, int depth, box.x2 = pixmap->drawable.width; if (box.y2 > pixmap->drawable.height) box.y2 = pixmap->drawable.height; + if (BOX_EMPTY(&box)) + return; RegionInit(®ion, &box, 1); @@ -2756,6 +2758,8 @@ sna_image_glyph(DrawablePtr drawable, GCPtr gc, box.y1 = y - FONTASCENT(gc->font); box.y2 = y + FONTDESCENT(gc->font); TRIM_BOX(box, drawable); + if (BOX_EMPTY(box)) + return; TRANSLATE_BOX(box, drawable); DBG(("%s: extents(%d, %d), (%d, %d)\n", @@ -2793,6 +2797,8 @@ sna_poly_glyph(DrawablePtr drawable, GCPtr gc, box.y2 = y + extents.overallDescent; TRIM_BOX(box, drawable); + if (BOX_EMPTY(box)) + return; TRANSLATE_BOX(box, drawable); DBG(("%s: extents(%d, %d), (%d, %d)\n",