diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-08-23 18:02:10 +0930 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-08-23 18:02:10 +0930 |
commit | 88a9828ef906bba973debc191e35ea669b7ec271 (patch) | |
tree | cb22e76cc67f091935ea1cfff0308c84663ff7ac /dix/events.c | |
parent | 2c1431a76e7219e3bd14fd7f7888a8bc4fea0f58 (diff) |
dix: Only check device events for possible ACLs.
We shouldn't be able to restrict events like Expose, etc. with device based
ACLs. So we just ignore all non-input events when checking for permissions.
Diffstat (limited to 'dix/events.c')
-rw-r--r-- | dix/events.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/dix/events.c b/dix/events.c index 4c9ca3b8a..0f413a670 100644 --- a/dix/events.c +++ b/dix/events.c @@ -1928,8 +1928,10 @@ DeliverEventsToWindow(DeviceIntPtr pDev, WindowPtr pWin, xEvent /* if a is denied, we return 0. This could cause the caller to * traverse the parent. May be bad! (whot) */ - if (!ACDeviceAllowed(pWin, pDev)) + if (!ACDeviceAllowed(pWin, pDev, pEvents)) + { return 0; + } /* CantBeFiltered means only window owner gets the event */ if ((filter == CantBeFiltered) || @@ -3348,7 +3350,7 @@ DeliverGrabbedEvent(xEvent *xE, DeviceIntPtr thisDev, } if (!deliveries) { - if (ACDeviceAllowed(grab->window, thisDev)) + if (ACDeviceAllowed(grab->window, thisDev, xE)) { if (xE->u.u.type == GenericEvent) { |