diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-20 16:23:38 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-22 15:44:03 +1000 |
commit | add2defac7e59dcb355e5ba12b6de60861741d57 (patch) | |
tree | d519a5b4d0e63ab7f5bd0f34fab5d25eca0fae5a /mi | |
parent | 73c7398aafa050950ad614483fb0d5bdd2da97ca (diff) |
Split the signal-handler's lastSlave out into a separate variable.
dev->u.lastSlave was not signal safe since it was accessed by the DIX and
during signal handling.
Replaced with:
'dev->last.slave' for the signal handler's lastSlave (used to generate
DeviceChangedEvents), .
'dev->u.lastSlave' for the DIX lastSlave (currently only used in
change_modmap)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'mi')
-rw-r--r-- | mi/mieq.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -370,8 +370,11 @@ mieqProcessDeviceEvent(DeviceIntPtr dev, { handler(DequeueScreen(dev)->myNum, event, dev); if (master) + { + master->u.lastSlave = dev; handler(DequeueScreen(master)->myNum, (InternalEvent*)masterEvents->event, master); + } } else { /* process slave first, then master */ |