diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-25 09:36:20 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-25 09:36:20 +0000 |
commit | 8d22a76506133e0f76424159c0944d29bdf39da9 (patch) | |
tree | c8e33c6acd591af200cf4980d540e5f7ceb25fbf | |
parent | 338941eda3c7591a85b83000eafae0407d0d7cd0 (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.c | 14 |
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(®ion)) - return NULL; + goto empty; RegionTranslate(®ion, src_x - dst_x - dst->x + src->x, @@ -5121,6 +5118,11 @@ fallback: out: RegionUninit(®ion); return ret; +empty: + return miHandleExposures(src, dst, gc, + src_x, src_y, + w, h, + dst_x, dst_y, bit); } static Bool |