From a27d6f3ece80d80805abdfb01f66779410032908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 30 Oct 2013 23:46:08 -0700 Subject: [PATCH] xwm: Set input region for fullscreen surfaces correctly The logic here broke at some point so that we would only update the input region for non-fullscreen windows. Thus, a fullscreen window would be stuck with whatever size the most recent non-fullscreen size was. https://bugs.freedesktop.org/show_bug.cgi?id=69219 --- src/xwayland/window-manager.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c index bdb618e80..f1b58c9ba 100644 --- a/src/xwayland/window-manager.c +++ b/src/xwayland/window-manager.c @@ -938,14 +938,18 @@ weston_wm_window_draw_decoration(void *data) window->height + 2); } weston_surface_geometry_dirty(window->surface); - } - if (window->surface && !window->fullscreen) { pixman_region32_fini(&window->surface->pending.input); - pixman_region32_init_rect(&window->surface->pending.input, - t->margin, t->margin, - width - 2 * t->margin, - height - 2 * t->margin); + + if (window->fullscreen) { + pixman_region32_init_rect(&window->surface->pending.input, + 0, 0, window->width, window->height); + } else if (window->decorate) { + pixman_region32_init_rect(&window->surface->pending.input, + t->margin, t->margin, + width - 2 * t->margin, + height - 2 * t->margin); + } } }