backends: Use latest pointer position if no pointer constrain exists

The meta_seat_native_constrain_pointer() function receives the current
pointer position, and the new pointer position as in/out parameters.
We were however calculating the new coordinates based on the last pointer
position if there was no pointer constrain in place.

Fortunately to us, this didn't use to happen often/ever, as a pointer
constrain function is set on MetaBackend initialization. This behavior
did also exist previously in MetaDeviceManagerNative.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
This commit is contained in:
Carlos Garnacho 2019-11-11 19:16:57 +01:00
parent 987cd7e821
commit f0241114f6

View File

@ -914,8 +914,8 @@ meta_seat_native_constrain_pointer (MetaSeatNative *seat,
float stage_width = clutter_actor_get_width (stage);
float stage_height = clutter_actor_get_height (stage);
*new_x = CLAMP (x, 0.f, stage_width - 1);
*new_y = CLAMP (y, 0.f, stage_height - 1);
*new_x = CLAMP (*new_x, 0.f, stage_width - 1);
*new_y = CLAMP (*new_y, 0.f, stage_height - 1);
}
}