dix: add support for WindowAccessAllowAll in device access checking.
AllowAll is the last check before the parent window is checked. This allows to override a DenyAll in the parent window in a simpler way than before (the previous method required all devices to be in the permit list).
This commit is contained in:
parent
088067c891
commit
6d9d18bf77
|
@ -254,6 +254,7 @@ ACQueryWindowAccess(WindowPtr win,
|
||||||
* If the device is explicitely permitted, allow.
|
* If the device is explicitely permitted, allow.
|
||||||
* If the window has a default of DenyAll, do not allow.
|
* If the window has a default of DenyAll, do not allow.
|
||||||
* If the device is explicitely denied, do not allow.
|
* If the device is explicitely denied, do not allow.
|
||||||
|
* If the window has a default of AllowAll, allow.
|
||||||
* Check parent window. Rinse, wash, repeat.
|
* Check parent window. Rinse, wash, repeat.
|
||||||
* If no rule could be found, allow.
|
* If no rule could be found, allow.
|
||||||
*/
|
*/
|
||||||
|
@ -309,6 +310,9 @@ ACDeviceAllowed(WindowPtr win, DeviceIntPtr dev, xEvent* xE)
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (win->optional->access.defaultRule == WindowAccessAllowAll)
|
||||||
|
return True;
|
||||||
|
|
||||||
return ACDeviceAllowed(win->parent, dev, xE);
|
return ACDeviceAllowed(win->parent, dev, xE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user