summaryrefslogtreecommitdiff
path: root/hw/xfree86/common/xf86DGA.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/common/xf86DGA.c')
-rw-r--r--hw/xfree86/common/xf86DGA.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index 43db1ee1a..e588e9a8f 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -1117,9 +1117,11 @@ DGAProcessKeyboardEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr keybd)
else
{
/* If the keyboard is actively grabbed, deliver a grabbed core event */
- if (keybd->grab && !keybd->fromPassiveGrab)
+ if (keybd->coreGrab.grab && !keybd->coreGrab.fromPassiveGrab)
{
- core.u.u.type = coreEquiv;
+ /* I've got no clue if that is correct but only working on core
+ * grabs seems the right thing here. (whot) */
+ core.u.u.type = coreEquiv;
core.u.u.detail = de->u.u.detail;
core.u.keyButtonPointer.time = de->u.event.time;
core.u.keyButtonPointer.eventX = de->u.event.dx;
@@ -1196,8 +1198,10 @@ DGAProcessPointerEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr mouse)
else
{
/* If the pointer is actively grabbed, deliver a grabbed core event */
- if (mouse->grab && !mouse->fromPassiveGrab)
+ if (mouse->coreGrab.grab && !mouse->coreGrab.fromPassiveGrab)
{
+ /* I've got no clue if that is correct but only working on core
+ * grabs seems the right thing here. (whot) */
core.u.u.type = coreEquiv;
core.u.u.detail = de->u.u.detail;
core.u.keyButtonPointer.time = de->u.event.time;