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
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index 9c500e1..b2776a0 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -961,12 +961,19 @@
}
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);
}