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/1028
This commit is contained in:
Carlos Garnacho 2019-11-11 19:16:57 +01:00
parent 1e9682b417
commit 5723bd8ec7

View File

@ -915,8 +915,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);
}
}