mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
Merge branch 'master' into mpx
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
This commit is contained in:
11
dix/grabs.c
11
dix/grabs.c
@@ -58,6 +58,7 @@ SOFTWARE.
|
||||
#include "inputstr.h"
|
||||
#include "cursorstr.h"
|
||||
#include "dixgrabs.h"
|
||||
#include "xace.h"
|
||||
|
||||
#define BITMASK(i) (((Mask)1) << ((i) & 31))
|
||||
#define MASKIDX(i) ((i) >> 5)
|
||||
@@ -324,9 +325,11 @@ GrabsAreIdentical(GrabPtr pFirstGrab, GrabPtr pSecondGrab)
|
||||
* @return Success or X error code on failure.
|
||||
*/
|
||||
int
|
||||
AddPassiveGrabToList(GrabPtr pGrab)
|
||||
AddPassiveGrabToList(ClientPtr client, GrabPtr pGrab)
|
||||
{
|
||||
GrabPtr grab;
|
||||
Mask access_mode = DixGrabAccess;
|
||||
int rc;
|
||||
|
||||
for (grab = wPassiveGrabs(pGrab->window); grab; grab = grab->next)
|
||||
{
|
||||
@@ -340,6 +343,12 @@ AddPassiveGrabToList(GrabPtr pGrab)
|
||||
}
|
||||
}
|
||||
|
||||
if (pGrab->keyboardMode == GrabModeSync||pGrab->pointerMode == GrabModeSync)
|
||||
access_mode |= DixFreezeAccess;
|
||||
rc = XaceHook(XACE_DEVICE_ACCESS, client, pGrab->device, access_mode);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
|
||||
/* Remove all grabs that match the new one exactly */
|
||||
for (grab = wPassiveGrabs(pGrab->window); grab; grab = grab->next)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user