summaryrefslogtreecommitdiff
path: root/dix/events.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-08-23 18:02:10 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-08-23 18:02:10 +0930
commit88a9828ef906bba973debc191e35ea669b7ec271 (patch)
treecb22e76cc67f091935ea1cfff0308c84663ff7ac /dix/events.c
parent2c1431a76e7219e3bd14fd7f7888a8bc4fea0f58 (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.c6
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)
{