diff options
author | Michel D=C3=A4nzer <michel.daenzer@amd.com> | 2012-07-11 15:01:15 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-07-11 15:07:38 +0800 |
commit | 12c5d248a3efe5afb06f0dc246b207cc497e9420 (patch) | |
tree | ddc022838bd457e8f98b135a238844ded3b1e5b7 | |
parent | 1aeca388c9ff9d8cbdfbdd552abe764d36c73f40 (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.c | 4 |
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, \ |