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
This commit is contained in:
@@ -961,12 +961,19 @@ weston_wm_window_draw_decoration(void *data)
|
|||||||
}
|
}
|
||||||
if (window->view)
|
if (window->view)
|
||||||
weston_view_geometry_dirty(window->view);
|
weston_view_geometry_dirty(window->view);
|
||||||
}
|
|
||||||
|
|
||||||
if (window->surface && !window->fullscreen) {
|
|
||||||
pixman_region32_fini(&window->surface->pending.input);
|
pixman_region32_fini(&window->surface->pending.input);
|
||||||
|
|
||||||
|
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,
|
frame_input_rect(window->frame, &input_x, &input_y,
|
||||||
&input_w, &input_h);
|
&input_w, &input_h);
|
||||||
|
}
|
||||||
|
|
||||||
pixman_region32_init_rect(&window->surface->pending.input,
|
pixman_region32_init_rect(&window->surface->pending.input,
|
||||||
input_x, input_y, input_w, input_h);
|
input_x, input_y, input_w, input_h);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user