window.c: Set input region after (potentially) adjusting the surface size

Regressed in dd263e546b, spotted by Scott Moreau <oreaus@gmail.com>
Kristian Høgsberg 12 years ago
parent c94de6450e
commit 023be102d7
  1. 16
      clients/window.c

@ -1252,13 +1252,6 @@ frame_resize_handler(struct widget *widget,
allocation.width = width - decoration_width; allocation.width = width - decoration_width;
allocation.height = height - decoration_height; allocation.height = height - decoration_height;
widget->window->input_region =
wl_compositor_create_region(display->compositor);
wl_region_add(widget->window->input_region,
t->margin, t->margin,
width - 2 * t->margin,
height - 2 * t->margin);
opaque_margin = t->margin + t->frame_radius; opaque_margin = t->margin + t->frame_radius;
wl_list_for_each(button, &frame->buttons_list, link) wl_list_for_each(button, &frame->buttons_list, link)
@ -1289,6 +1282,15 @@ frame_resize_handler(struct widget *widget,
width = child->allocation.width + decoration_width; width = child->allocation.width + decoration_width;
height = child->allocation.height + decoration_height; height = child->allocation.height + decoration_height;
if (widget->window->type != TYPE_FULLSCREEN) {
widget->window->input_region =
wl_compositor_create_region(display->compositor);
wl_region_add(widget->window->input_region,
t->margin, t->margin,
width - 2 * t->margin,
height - 2 * t->margin);
}
widget_set_allocation(widget, 0, 0, width, height); widget_set_allocation(widget, 0, 0, width, height);
if (child->opaque) { if (child->opaque) {

Loading…
Cancel
Save