This change tweaks weston_pointer_clamp to take into consideration if a
seat is constrained to a particular output by only considering the
pointer position valid if it is within the output we a constrained to.
This function is also used for the initial warping of the pointer when a
constraint is first established.
The other two changes are the application of the constraint when either
a new device added or a new output created and therefore outputs and
input devices can be brought up in either order.
v2: the code in create_output_for_connector has been spun off into a
new function setup_output_seat_constraint (Ander). The inappropriate
warping behaviour has been resolved by using weston_pointer_clamp
(Pekka).
wl_list_insert(seat->devices_list.prev, &device->link);
+ if (seat->base.output && seat->base.pointer)
+ weston_pointer_clamp(seat->base.pointer,
+ &seat->base.pointer->x,
+ &seat->base.pointer->y);
+
return 0;
}