summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel D=C3=A4nzer <michel.daenzer@amd.com>2012-07-11 15:01:15 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2012-07-11 15:07:38 +0800
commit12c5d248a3efe5afb06f0dc246b207cc497e9420 (patch)
treeddc022838bd457e8f98b135a238844ded3b1e5b7
parent1aeca388c9ff9d8cbdfbdd552abe764d36c73f40 (diff)
Fix translation of clip region for composite fallback.
Fixes incorrectly clipped rendering. E.g. the cursor in Evolution composer windows became invisible. Signed-off-by: Michel Daenzer <michel.daenzer@amd.com> Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r--src/glamor_render.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glamor_render.c b/src/glamor_render.c
index 60fc2f6..d986e9a 100644
--- a/src/glamor_render.c
+++ b/src/glamor_render.c
@@ -1869,13 +1869,13 @@ fail:
width, height, access); \
if (sub_ ##p ##_pixmap != NULL) { \
saved_ ##p ##_drawable = p->pDrawable; \
- p->pDrawable = &sub_ ##p ##_pixmap->drawable; \
saved_ ##p ##_x = x_ ##p; \
saved_ ##p ##_y = y_ ##p; \
if (p->pCompositeClip) \
pixman_region_translate (p->pCompositeClip, \
-p->pDrawable->x - x_ ##p, \
-p->pDrawable->y - y_ ##p); \
+ p->pDrawable = &sub_ ##p ##_pixmap->drawable; \
x_ ##p = 0; \
y_ ##p = 0; \
} } while(0)
@@ -1910,11 +1910,11 @@ full_fallback:
if (sub_ ##p ##_pixmap != NULL) { \
x_ ##p = saved_ ##p ##_x; \
y_ ##p = saved_ ##p ##_y; \
+ p->pDrawable = saved_ ##p ##_drawable; \
if (p->pCompositeClip) \
pixman_region_translate (p->pCompositeClip, \
p->pDrawable->x + x_ ##p, \
p->pDrawable->y + y_ ##p); \
- p->pDrawable = saved_ ##p ##_drawable; \
glamor_put_sub_pixmap(sub_ ##p ##_pixmap, p ##_pixmap, \
x_ ##p + p ##_x_off + p->pDrawable->x, \
y_ ##p + p ##_y_off + p->pDrawable->y, \