From 24bc15a386e37908396c3f6088f6fc98ceaa0f46 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 24 Feb 2010 18:34:17 +0000 Subject: Git update 24/2/2010" --- xorg-server/Xi/exevents.c | 40 ++++++++++------------------------------ xorg-server/Xi/setmode.c | 10 ++++++++++ 2 files changed, 20 insertions(+), 30 deletions(-) (limited to 'xorg-server/Xi') diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c index 7c105eb94..a63b65b6b 100644 --- a/xorg-server/Xi/exevents.c +++ b/xorg-server/Xi/exevents.c @@ -1052,38 +1052,18 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device) } if (DeviceEventCallback) { - DeviceEventInfoRec eventinfo; - SpritePtr pSprite = device->spriteInfo->sprite; - xEvent *xi_events = NULL; - int count; - - /* see comment in EnqueueEvents regarding the next three lines */ - if (ev->any.type == ET_Motion) - ev->device_event.root = - WindowTable[pSprite->hotPhys.pScreen->myNum]->drawable.id; - - /* SDs send XI events only. MDs send both an XI event and a core - * event. - */ - EventToXI(ev, &xi_events, &count); - - eventinfo.events = (xEventPtr)xi_events; - eventinfo.count = count; - ErrorF("POE xi root is %lx\n", xi_events->u.keyButtonPointer.root); - CallCallbacks(&DeviceEventCallback, (pointer) & eventinfo); - xfree(xi_events); - - if (IsMaster(device)) - { - xEvent core; - EventToCore(ev, &core); - eventinfo.events = (xEventPtr)&core; - eventinfo.count = 1; - ErrorF("POE core root is %lx\n", core.u.keyButtonPointer.root); - CallCallbacks(&DeviceEventCallback, (pointer) & eventinfo); - } + DeviceEventInfoRec eventinfo; + SpritePtr pSprite = device->spriteInfo->sprite; + /* see comment in EnqueueEvents regarding the next three lines */ + if (ev->any.type == ET_Motion) + ev->device_event.root = WindowTable[pSprite->hotPhys.pScreen->myNum]->drawable.id; + + eventinfo.device = device; + eventinfo.event = ev; + CallCallbacks(&DeviceEventCallback, (pointer) & eventinfo); } + grab = device->deviceGrab.grab; switch(event->type) diff --git a/xorg-server/Xi/setmode.c b/xorg-server/Xi/setmode.c index 51e57675f..ce2ad47c7 100644 --- a/xorg-server/Xi/setmode.c +++ b/xorg-server/Xi/setmode.c @@ -112,7 +112,17 @@ ProcXSetDeviceMode(ClientPtr client) if (rep.status == Success) dev->valuator->mode = stuff->mode; else if (rep.status != AlreadyGrabbed) + { + switch(rep.status) { + case BadMatch: + case BadImplementation: + case BadAlloc: + break; + default: + rep.status = BadMode; + } return rep.status; + } WriteReplyToClient(client, sizeof(xSetDeviceModeReply), &rep); return Success; -- cgit v1.2.3