summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-08-04 10:47:03 +1000
committerKeith Packard <keithp@keithp.com>2014-08-12 15:53:51 -0700
commit1e30fc1b99bda040038e4fd56d1b27c686b44c75 (patch)
tree05bd6968aac3b2f87021ea01386f0d86535fdf0d
parent4599a4492ca6a1c87cd9c537c54fbda11f13c15c (diff)
xkb: ignore floating slave devices when updating from master (#81885)
Introduced in 45fb3a934dc0db51584aba37c2f9d73deff9191d. When a device is enabled, the master's locked state is pushed to the slave. If the device is floating, no master exists and we triggered a NULL-pointer dereference in XkbPushLockedStateToSlaves. X.Org Bug 81885 <http://bugs.freedesktop.org/show_bug.cgi?id=81885> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--dix/devices.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/dix/devices.c b/dix/devices.c
index 5d26fae21..f17a3ac65 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -416,7 +416,7 @@ EnableDevice(DeviceIntPtr dev, BOOL sendevent)
XISendDeviceHierarchyEvent(flags);
}
- if (!IsMaster(dev))
+ if (!IsMaster(dev) && !IsFloating(dev))
XkbPushLockedStateToSlaves(GetMaster(dev, MASTER_KEYBOARD), 0, 0);
RecalculateMasterButtons(dev);