summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-01-25 09:36:20 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-01-25 09:36:20 +0000
commit8d22a76506133e0f76424159c0944d29bdf39da9 (patch)
treec8e33c6acd591af200cf4980d540e5f7ceb25fbf
parent338941eda3c7591a85b83000eafae0407d0d7cd0 (diff)
sna: Run the miHandleExposures for no-op CopyPlane
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 03dceaf1..ee1f373a 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -5026,13 +5026,10 @@ sna_copy_plane(DrawablePtr src, DrawablePtr dst, GCPtr gc,
src_x, src_y, dst_x, dst_y, w, h));
if (gc->planemask == 0)
- return NULL;
+ goto empty;
if (src->bitsPerPixel == 1 && (bit&1) == 0)
- return miHandleExposures(src, dst, gc,
- src_x, src_y,
- w, h,
- dst_x, dst_y, bit);
+ goto empty;
region.extents.x1 = dst_x + dst->x;
region.extents.y1 = dst_y + dst->y;
@@ -5067,7 +5064,7 @@ sna_copy_plane(DrawablePtr src, DrawablePtr dst, GCPtr gc,
region.extents.x1, region.extents.y1,
region.extents.x2, region.extents.y2));
if (!RegionNotEmpty(&region))
- return NULL;
+ goto empty;
RegionTranslate(&region,
src_x - dst_x - dst->x + src->x,
@@ -5121,6 +5118,11 @@ fallback:
out:
RegionUninit(&region);
return ret;
+empty:
+ return miHandleExposures(src, dst, gc,
+ src_x, src_y,
+ w, h,
+ dst_x, dst_y, bit);
}
static Bool