Protocol events don't contain pointers, so it's easier to copy everything over, then swap in-place.
Signed-off-by: Peter Hutterer <[email protected]> --- Xi/extinit.c | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/Xi/extinit.c b/Xi/extinit.c index 606d61c..73b084c 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -845,30 +845,27 @@ STouchOwnershipEvent(xXITouchOwnershipEvent * from, xXITouchOwnershipEvent * to) static void SBarrierEvent(xXIBarrierEvent * from, xXIBarrierEvent * to) { - to->type = from->type; - - cpswaps(from->sequenceNumber, to->sequenceNumber); - cpswapl(from->length, to->length); - cpswaps(from->evtype, to->evtype); - cpswapl(from->time, to->time); - cpswaps(from->deviceid, to->deviceid); - cpswaps(from->sourceid, to->sourceid); - cpswapl(from->event, to->event); - cpswapl(from->root, to->root); - cpswapl(from->root_x, to->root_x); - cpswapl(from->root_y, to->root_y); - -#define SWAP_FP3232(x, y) \ - do { \ - cpswapl((x).integral, (y).integral); \ - cpswapl((x).frac, (y).frac); \ - } while(0) - - SWAP_FP3232(from->dx, to->dx); - SWAP_FP3232(from->dy, to->dy); - cpswapl(from->dtime, to->dtime); - cpswapl(from->barrier, to->barrier); - cpswapl(from->eventid, to->eventid); + + *to = *from; + + swaps(&from->sequenceNumber); + swapl(&from->length); + swaps(&from->evtype); + swapl(&from->time); + swaps(&from->deviceid); + swaps(&from->sourceid); + swapl(&from->event); + swapl(&from->root); + swapl(&from->root_x); + swapl(&from->root_y); + + swapl(&from->dx.integral); + swapl(&from->dx.frac); + swapl(&from->dy.integral); + swapl(&from->dy.frac); + swapl(&from->dtime); + swapl(&from->barrier); + swapl(&from->eventid); } /** Event swapping function for XI2 events. */ -- 1.8.0.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
