wayland: Use cursor position in logical monitor
authorOlivier Fourdan <ofourdan@redhat.com>
Fri, 23 Mar 2018 12:05:12 +0000 (13:05 +0100)
committerSimon McVittie <smcv@debian.org>
Sun, 8 Jul 2018 10:32:56 +0000 (11:32 +0100)
commite956b58c952ded326915ab02f272bb838c1ef6a0
tree352a54853b87ee52dc04e01f13223b2a1ac54d28
parent0ab1d5c0183943566c45608b62339bc9e0af1de5
wayland: Use cursor position in logical monitor

When using two monitors size by side with different scales, once the
cursor moves from one output to another one, its size changes based on
the scale of the given output.

Changing the size of the cursor can cause the cursor area to change
output again if the hotspot is not exactly at the top left corner of the
area, causing the texture of the cursor to change, which will trigger
another output change, so on and so forth causing continuous surface
enter/leave event which flood the clients and eventually kill them.

Change the logic to use only the actual cursor position to determine if
its on the given logical monitor, so that it remains immune to scale
changes induced by output scale differences.

(cherry picked from commit 67917db45f96befb777e5f331a775ea3c2b53012)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/83
Origin: upstream, 3.28.3, commit:7d52be02290bd92589fbea756ca3431af8e71a94

Gbp-Pq: Name wayland-Use-cursor-position-in-logical-monitor.patch
src/backends/meta-cursor-renderer.c
src/backends/meta-cursor-renderer.h
src/wayland/meta-wayland-surface-role-cursor.c