backend/native: Don't double-scale pointer motions on scaled monitors

We manually scaled pointer motions when they travel over a scaled
monitor. When a stage view of a monitor is also scaled, in practice this
meant we scaled twice. Avoid this by only manually scaling the pointer
motion when stage views are not scaled.

https://bugzilla.gnome.org/show_bug.cgi?id=765011
This commit is contained in:
Jonas Ådahl 2017-06-07 17:32:59 +08:00
parent fef81cd628
commit 5f2bb43061

View File

@ -341,6 +341,9 @@ relative_motion_filter (ClutterInputDevice *device,
MetaLogicalMonitor *logical_monitor, *dest_logical_monitor; MetaLogicalMonitor *logical_monitor, *dest_logical_monitor;
float new_dx, new_dy; float new_dx, new_dy;
if (meta_is_stage_views_scaled ())
return;
logical_monitor = meta_monitor_manager_get_logical_monitor_at (monitor_manager, logical_monitor = meta_monitor_manager_get_logical_monitor_at (monitor_manager,
x, y); x, y);
if (!logical_monitor) if (!logical_monitor)