From 1d75c7d3a2826163494260593eb67cb4219ede2a 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 | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c index 9c500e13..b2776a0a 100644 --- a/src/xwayland/window-manager.c +++ b/src/xwayland/window-manager.c @@ -961,12 +961,19 @@ weston_wm_window_draw_decoration(void *data) } if (window->view) weston_view_geometry_dirty(window->view); - } - if (window->surface && !window->fullscreen) { pixman_region32_fini(&window->surface->pending.input); - frame_input_rect(window->frame, &input_x, &input_y, - &input_w, &input_h); + + if (window->fullscreen) { + input_x = 0; + input_y = 0; + input_w = window->width; + input_h = window->height; + } else if (window->decorate) { + frame_input_rect(window->frame, &input_x, &input_y, + &input_w, &input_h); + } + pixman_region32_init_rect(&window->surface->pending.input, input_x, input_y, input_w, input_h); }