xwm: Fix silly region math
We were setting up the opaque region to be the window size and then intersecting with the opaque rectange that's always contained in the window rectangle. Just initialize to the opaque rectangle.
This commit is contained in:
@@ -816,17 +816,13 @@ weston_wm_window_draw_decoration(void *data)
|
|||||||
|
|
||||||
if (window->surface) {
|
if (window->surface) {
|
||||||
pixman_region32_fini(&window->surface->pending.opaque);
|
pixman_region32_fini(&window->surface->pending.opaque);
|
||||||
pixman_region32_init_rect(&window->surface->pending.opaque, 0, 0,
|
|
||||||
width, height);
|
|
||||||
|
|
||||||
/* We leave an extra pixel around the X window area to
|
/* We leave an extra pixel around the X window area to
|
||||||
* make sure we don't sample from the undefined alpha
|
* make sure we don't sample from the undefined alpha
|
||||||
* channel when filtering. */
|
* channel when filtering. */
|
||||||
pixman_region32_intersect_rect(&window->surface->pending.opaque,
|
pixman_region32_init_rect(&window->surface->pending.opaque,
|
||||||
&window->surface->pending.opaque,
|
x - 1, y - 1,
|
||||||
x - 1, y - 1,
|
window->width + 2,
|
||||||
window->width + 2,
|
window->height + 2);
|
||||||
window->height + 2);
|
|
||||||
window->surface->geometry.dirty = 1;
|
window->surface->geometry.dirty = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user