diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2016-09-13 15:16:56 +0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-09-19 08:55:02 -0700 |
commit | 5998da7855750dd947288349a0b14e65db1e3c8c (patch) | |
tree | a718de563550846c3b8c38aa9fb88065b1ffbede /dix | |
parent | daf48a3aba7d5c42d7156f0d0e2b1d8aae423303 (diff) |
dix: Incroduce CursorConfinedTo vfunc in Screen
This function will be called when a pointer is grabbed non-root window
set as the 'confineTo'. This will enable the ddx to handle the
confinement their own way.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/events.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/dix/events.c b/dix/events.c index 87f080e16..cc26ba5db 100644 --- a/dix/events.c +++ b/dix/events.c @@ -882,6 +882,8 @@ ConfineCursorToWindow(DeviceIntPtr pDev, WindowPtr pWin, Bool generateEvents, SyntheticMotion(pDev, pSprite->hot.x, pSprite->hot.y); } else { + ScreenPtr pScreen = pWin->drawable.pScreen; + #ifdef PANORAMIX if (!noPanoramiXExtension) { XineramaConfineCursorToWindow(pDev, pWin, generateEvents); @@ -893,6 +895,9 @@ ConfineCursorToWindow(DeviceIntPtr pDev, WindowPtr pWin, Bool generateEvents, : NullRegion; CheckPhysLimits(pDev, pSprite->current, generateEvents, confineToScreen, pWin->drawable.pScreen); + + if (*pScreen->CursorConfinedTo) + (*pScreen->CursorConfinedTo) (pDev, pScreen, pWin); } } |