diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-08 15:38:44 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-13 13:24:08 +1000 |
commit | a15abf82ddb5a209dbc30c4d12e1dc23c4adf3e4 (patch) | |
tree | 6dd27281e11f03360f06b18edba222a33f0b631b /dix/events.c | |
parent | 218752bdc5d9323d1e6202e762573a925cf8a4eb (diff) |
dix: always allocate and set the grab's sync.event
Allocate the memory at device creation time and always store the event, even
if we're not frozen. This way we know which event triggered the grab.
Since the event was never freed anyway except on device shutdown, this
doesn't really change things much.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Diffstat (limited to 'dix/events.c')
-rw-r--r-- | dix/events.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/dix/events.c b/dix/events.c index db86f5167..086f438fd 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3717,12 +3717,8 @@ ActivatePassiveGrab(DeviceIntPtr device, GrabPtr grab, InternalEvent *event) } if (grabinfo->sync.state == FROZEN_NO_EVENT) - { - if (!grabinfo->sync.event) - grabinfo->sync.event = calloc(1, sizeof(DeviceEvent)); - *grabinfo->sync.event = event->device_event; grabinfo->sync.state = FROZEN_WITH_EVENT; - } + *grabinfo->sync.event = event->device_event; free(xE); return TRUE; @@ -4310,8 +4306,6 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev, case FREEZE_NEXT_EVENT: grabinfo->sync.state = FROZEN_WITH_EVENT; FreezeThaw(thisDev, TRUE); - if (!grabinfo->sync.event) - grabinfo->sync.event = calloc(1, sizeof(InternalEvent)); *grabinfo->sync.event = event->device_event; break; } |