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.
dev
Kristian Høgsberg 12 years ago
parent d8b617deea
commit 25bb696fc8
  1. 12
      src/xwayland/window-manager.c

@ -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;
} }

Loading…
Cancel
Save