diff options
-rw-r--r-- | nx-X11/programs/Xserver/dix/events.c | 13 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/NXevents.c | 50 |
2 files changed, 15 insertions, 48 deletions
diff --git a/nx-X11/programs/Xserver/dix/events.c b/nx-X11/programs/Xserver/dix/events.c index 70224c3b8..fe18cba64 100644 --- a/nx-X11/programs/Xserver/dix/events.c +++ b/nx-X11/programs/Xserver/dix/events.c @@ -1216,10 +1216,14 @@ CheckGrabForSyncs(register DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) ComputeFreezes(); } -#ifndef NXAGENT_SERVER void -ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, +#ifdef NXAGENT_SERVER +xorg_ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, + TimeStamp time, Bool autoGrab) +#else +ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, TimeStamp time, Bool autoGrab) +#endif { WindowPtr oldWin = (mouse->grab) ? mouse->grab->window : sprite.win; @@ -1246,7 +1250,11 @@ ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, } void +#ifdef NXAGENT_SERVER +xorg_DeactivatePointerGrab(register DeviceIntPtr mouse) +#else DeactivatePointerGrab(register DeviceIntPtr mouse) +#endif { register GrabPtr grab = mouse->grab; register DeviceIntPtr dev; @@ -1268,7 +1276,6 @@ DeactivatePointerGrab(register DeviceIntPtr mouse) FreeCursor(grab->cursor, (Cursor)0); ComputeFreezes(); } -#endif /* NXAGENT_SERVER */ void ActivateKeyboardGrab(register DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, Bool passive) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c index 031e62431..377843407 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c @@ -161,28 +161,7 @@ void ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, TimeStamp time, Bool autoGrab) { - WindowPtr oldWin = (mouse->grab) ? mouse->grab->window - : sprite.win; - - if (grab->confineTo) - { - if (grab->confineTo->drawable.pScreen != sprite.hotPhys.pScreen) - sprite.hotPhys.x = sprite.hotPhys.y = 0; - ConfineCursorToWindow(grab->confineTo, FALSE, TRUE); - } - DoEnterLeaveEvents(oldWin, grab->window, NotifyGrab); - mouse->valuator->motionHintWindow = NullWindow; - if (syncEvents.playingEvents) - mouse->grabTime = syncEvents.time; - else - mouse->grabTime = time; - if (grab->cursor) - grab->cursor->refcnt++; - mouse->activeGrab = *grab; - mouse->grab = &mouse->activeGrab; - mouse->fromPassiveGrab = autoGrab; - PostNewCursor(); - CheckGrabForSyncs(mouse,(Bool)grab->pointerMode, (Bool)grab->keyboardMode); + xorg_ActivatePointerGrab(mouse, grab, time, autoGrab); #ifdef NXAGENT_SERVER @@ -212,9 +191,8 @@ ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, if (nxagentOption(Rootless) == 1) { /* - * FIXME: We should use the correct value - * for the cursor. Temporarily we set it - * to None. + * FIXME: We should use the correct value for the + * cursor. Temporarily we set it to None. */ int resource = nxagentWaitForResource(NXGetCollectGrabPointerResource, @@ -227,31 +205,13 @@ ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, None, CurrentTime); } - #endif + #endif /* NXAGENT_SERVER */ } void DeactivatePointerGrab(register DeviceIntPtr mouse) { - register GrabPtr grab = mouse->grab; - register DeviceIntPtr dev; - - mouse->valuator->motionHintWindow = NullWindow; - mouse->grab = NullGrab; - mouse->sync.state = NOT_GRABBED; - mouse->fromPassiveGrab = FALSE; - for (dev = inputInfo.devices; dev; dev = dev->next) - { - if (dev->sync.other == grab) - dev->sync.other = NullGrab; - } - DoEnterLeaveEvents(grab->window, sprite.win, NotifyUngrab); - if (grab->confineTo) - ConfineCursorToWindow(ROOT, FALSE, FALSE); - PostNewCursor(); - if (grab->cursor) - FreeCursor(grab->cursor, (Cursor)0); - ComputeFreezes(); + xorg_DeactivatePointerGrab(mouse); #ifdef NXAGENT_SERVER |