diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-05-26 10:16:36 +0100 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-05-27 14:49:21 +0100 |
commit | 0d542d133a610a8dd832b561c3ccdbef19e41c2d (patch) | |
tree | 460bee42f9a22cf2fa1e0138b597a67b439ddd1f /uxa | |
parent | c4f5dada5cd5ba6cf0bdddf53efd5d8601596a6b (diff) |
uxa: Perform manual damage for CompositeRects
[xserver-1.8] The damage layer doesn't wrap CompositeRects, so we need to
manually append the damaged region ourselves. This works for
miCompsiteRects since that translates the call into multiple invocations
of either PolyFillRectangle or Composite, which themselves cause damage.
Fixes:
Bug 28120 - Tint2's tooltip borders end up at 0,0 and do not disappear
https://bugs.freedesktop.org/show_bug.cgi?id=28120
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 03bbb4c896ef3cd275312b413a2c85d9f499c032)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Diffstat (limited to 'uxa')
-rw-r--r-- | uxa/uxa-render.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c index a9eb6072..8c163f6e 100644 --- a/uxa/uxa-render.c +++ b/uxa/uxa-render.c @@ -926,6 +926,11 @@ uxa_solid_rects (CARD8 op, return; } + /* XXX xserver-1.8: CompositeRects is not tracked by Damage, so we must + * manually append the damaged regions ourselves. + */ + DamageRegionAppend(dst->pDrawable, ®ion); + pixman_region_translate(®ion, dst_x, dst_y); boxes = pixman_region_rectangles(®ion, &num_boxes); extents = pixman_region_extents (®ion); |