mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-29 21:46:40 +00:00
Switch to use IsFloating()
This is not a straightforward search/replacement due to a long-standing issue. dev->u.master is the same field as dev->u.lastSlave. Thus, if dev is a master device, a check for dev->u.master may give us false positives and false negatives. The switch to IsFloating() spells out these cases and modifies the conditions accordingly to cover both cases. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
This commit is contained in:
parent
e48bf3b640
commit
dc57f89959
15 changed files with 37 additions and 43 deletions
|
|
@ -273,7 +273,7 @@ change_modmap(ClientPtr client, DeviceIntPtr dev, KeyCode *modkeymap,
|
|||
do_modmap_change(client, tmp, modmap);
|
||||
}
|
||||
}
|
||||
else if (dev->u.master && dev->u.master->u.lastSlave == dev) {
|
||||
else if (!IsFloating(dev) && dev->u.master->u.lastSlave == dev) {
|
||||
/* If this fails, expect the results to be weird. */
|
||||
if (check_modmap_change(client, dev->u.master, modmap))
|
||||
do_modmap_change(client, dev->u.master, modmap);
|
||||
|
|
|
|||
Loading…
Reference in a new issue