[mutter/wip/carlosg/pointer-constraint-coords-fix] backends: Use latest pointer position if no pointer constrain exists



commit 5723bd8ec7f9f12bf8d27f52c7bdfc38f26a2428
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Nov 11 19:16:57 2019 +0100

    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

 src/backends/native/meta-seat-native.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/src/backends/native/meta-seat-native.c b/src/backends/native/meta-seat-native.c
index 439d2a3cb..fd8048ff4 100644
--- a/src/backends/native/meta-seat-native.c
+++ b/src/backends/native/meta-seat-native.c
@@ -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);
     }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]