From 70999994284ea2d1392a45dfa28fcbc99fd65818 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 4 Aug 2014 10:07:41 +1000 Subject: [PATCH 4/4] 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 Signed-off-by: Peter Hutterer --- dix/devices.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dix/devices.c b/dix/devices.c index 4692251..b389c7c 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); -- 1.9.3