summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2008-06-18 16:14:42 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2008-06-19 17:23:56 +0930
commit3cc5ae6a4f725483612c00fc8bcc2c61607f66a8 (patch)
treecd48cec990d0c4deb4cdcfc4e6996b2f3da7d464
parent528b4e36ade482df99747081688ae52cfaeb28eb (diff)
dix: don't attempt to send Enter/Leave events if we have a keyboard.
Dereferencing into dev->valuator could crash the server, although it looks like I could only reproduce this by having a keyboard send an event after it was created and the WM was still replaying. Or so.
-rw-r--r--dix/events.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/dix/events.c b/dix/events.c
index 4e11bda7d..7bd682526 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -4583,6 +4583,9 @@ DoEnterLeaveEvents(DeviceIntPtr pDev,
WindowPtr toWin,
int mode)
{
+ if (!IsPointerDevice(pDev))
+ return;
+
if (fromWin == toWin)
return;
if (IsParent(fromWin, toWin))