summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-05-20 17:02:50 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-05-22 15:44:56 +1000
commit438a4eafa5d14ab676827f7a5d58782c02db4cdf (patch)
treef2b7e4aaa8922cb5fb2467d0dd89cfa37be1b0b2
parentb12d302df8283186ce87882c29b2b0294adb2770 (diff)
input: remove nested union from InternalEvent.
There's no need for internal events to be a struct with a single nested union, we might as well make the union itself the InternalEvent. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--Xi/exevents.c4
-rw-r--r--dix/eventconvert.c16
-rw-r--r--dix/events.c32
-rw-r--r--include/events.h9
-rw-r--r--mi/mieq.c36
5 files changed, 47 insertions, 50 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index d7fb59935..884fe724d 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -123,7 +123,7 @@ RegisterOtherDevice(DeviceIntPtr device)
Bool
IsPointerEvent(InternalEvent* event)
{
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_ButtonPress:
case ET_ButtonRelease:
@@ -953,7 +953,7 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
CHECKEVENT(ev);
- if (ev->u.any.type == ET_Raw)
+ if (ev->any.type == ET_Raw)
{
ProcessRawEvent((RawDeviceEvent*)ev, device);
return;
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 97fc2add3..403282cb3 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -69,7 +69,7 @@ static int eventToRawEvent(RawDeviceEvent *ev, xEvent **xi);
int
EventToCore(InternalEvent *event, xEvent *core)
{
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_Motion:
case ET_ButtonPress:
@@ -117,7 +117,7 @@ EventToCore(InternalEvent *event, xEvent *core)
int
EventToXI(InternalEvent *ev, xEvent **xi, int *count)
{
- switch (ev->u.any.type)
+ switch (ev->any.type)
{
case ET_Motion:
case ET_ButtonPress:
@@ -134,7 +134,7 @@ EventToXI(InternalEvent *ev, xEvent **xi, int *count)
return Success;
}
- ErrorF("[dix] EventToXI: Not implemented for %d \n", ev->u.any.type);
+ ErrorF("[dix] EventToXI: Not implemented for %d \n", ev->any.type);
return BadImplementation;
}
@@ -153,7 +153,7 @@ EventToXI(InternalEvent *ev, xEvent **xi, int *count)
int
EventToXI2(InternalEvent *ev, xEvent **xi)
{
- switch (ev->u.any.type)
+ switch (ev->any.type)
{
case ET_Motion:
case ET_ButtonPress:
@@ -172,7 +172,7 @@ EventToXI2(InternalEvent *ev, xEvent **xi)
}
- ErrorF("[dix] EventToXI2: Not implemented for %d \n", ev->u.any.type);
+ ErrorF("[dix] EventToXI2: Not implemented for %d \n", ev->any.type);
return BadImplementation;
}
@@ -472,7 +472,7 @@ int
GetCoreType(InternalEvent *event)
{
int coretype = 0;
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_Motion: coretype = MotionNotify; break;
case ET_ButtonPress: coretype = ButtonPress; break;
@@ -491,7 +491,7 @@ int
GetXIType(InternalEvent *event)
{
int xitype = 0;
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_Motion: xitype = DeviceMotionNotify; break;
case ET_ButtonPress: xitype = DeviceButtonPress; break;
@@ -513,7 +513,7 @@ GetXI2Type(InternalEvent *event)
{
int xi2type = 0;
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_Motion: xi2type = XI_Motion; break;
case ET_ButtonPress: xi2type = XI_ButtonPress; break;
diff --git a/dix/events.c b/dix/events.c
index 3222950f7..8400cfa57 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -1075,18 +1075,18 @@ MonthChangedOrBadTime(InternalEvent *ev)
* different sources in sorted order, then it's possible for time to go
* backwards when it should not. Here we ensure a decent time.
*/
- if ((currentTime.milliseconds - ev->u.any.time) > TIMESLOP)
+ if ((currentTime.milliseconds - ev->any.time) > TIMESLOP)
currentTime.months++;
else
- ev->u.any.time = currentTime.milliseconds;
+ ev->any.time = currentTime.milliseconds;
}
static void
NoticeTime(InternalEvent *ev)
{
- if (ev->u.any.time < currentTime.milliseconds)
+ if (ev->any.time < currentTime.milliseconds)
MonthChangedOrBadTime(ev);
- currentTime.milliseconds = ev->u.any.time;
+ currentTime.milliseconds = ev->any.time;
lastDeviceEventTime = currentTime;
}
@@ -1158,7 +1158,7 @@ EnqueueEvent(InternalEvent *ev, DeviceIntPtr device)
pSprite->hotPhys.y = event->root_y;
/* do motion compression, but not if from different devices */
if (tail &&
- (tail->event->u.any.type == ET_Motion) &&
+ (tail->event->any.type == ET_Motion) &&
(tail->device == device) &&
(tail->pScreen == pSprite->hotPhys.pScreen))
{
@@ -1212,10 +1212,10 @@ PlayReleasedEvents(void)
pDev = qe->device;
if (*syncEvents.pendtail == *prev)
syncEvents.pendtail = prev;
- if (qe->event->u.any.type == ET_Motion)
+ if (qe->event->any.type == ET_Motion)
CheckVirtualMotion(pDev, qe, NullWindow);
syncEvents.time.months = qe->months;
- syncEvents.time.milliseconds = qe->event->u.any.time;
+ syncEvents.time.milliseconds = qe->event->any.time;
#ifdef PANORAMIX
/* Translate back to the sprite screen since processInputProc
will translate from sprite screen to screen 0 upon reentry
@@ -2391,7 +2391,7 @@ DeliverDeviceEvents(WindowPtr pWin, InternalEvent *event, GrabPtr grab,
if (rc != Success)
{
ErrorF("[dix] %s: XI conversion failed in DDE (%d, %d). Skipping delivery.\n",
- dev->name, event->u.any.type, rc);
+ dev->name, event->any.type, rc);
goto unwind;
} else if (count > 0)
{
@@ -2444,7 +2444,7 @@ DeliverDeviceEvents(WindowPtr pWin, InternalEvent *event, GrabPtr grab,
{
if (rc != BadMatch)
ErrorF("[dix] %s: Core conversion failed in DDE (%d, %d).\n",
- dev->name, event->u.any.type, rc);
+ dev->name, event->any.type, rc);
goto unwind;
}
@@ -3581,7 +3581,7 @@ DeliverFocusedEvent(DeviceIntPtr keybd, InternalEvent *event, WindowPtr window)
if (rc != Success)
{
ErrorF("[dix] %s: XI conversion failed in DFE (%d, %d). Skipping delivery.\n",
- keybd->name, event->u.any.type, rc);
+ keybd->name, event->any.type, rc);
goto unwind;
} else if (count == 0) /* no XI/Core event for you */
return;
@@ -3593,7 +3593,7 @@ DeliverFocusedEvent(DeviceIntPtr keybd, InternalEvent *event, WindowPtr window)
if (rc != Success)
{
ErrorF("[dix] %s: XI2 conversion failed in DFE (%d, %d). Skipping delivery.\n",
- keybd->name, event->u.any.type, rc);
+ keybd->name, event->any.type, rc);
goto unwind;
} else if (xi2)
{
@@ -3621,7 +3621,7 @@ DeliverFocusedEvent(DeviceIntPtr keybd, InternalEvent *event, WindowPtr window)
if (rc != Success)
{
ErrorF("[dix] %s: core conversion failed DFE (%d, %d). Skipping delivery.\n",
- keybd->name, event->u.any.type, rc);
+ keybd->name, event->any.type, rc);
goto unwind;
}
@@ -3706,7 +3706,7 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
if (rc != Success)
{
ErrorF("[dix] %s: XI2 conversion failed in DGE (%d, %d). Skipping delivery.\n",
- thisDev->name, event->u.any.type, rc);
+ thisDev->name, event->any.type, rc);
goto unwind;
}
@@ -3714,7 +3714,7 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
if (rc != Success)
{
ErrorF("[dix] %s: XI conversion failed in DGE (%d, %d). Skipping delivery.\n",
- thisDev->name, event->u.any.type, rc);
+ thisDev->name, event->any.type, rc);
goto unwind;
} else if (count == 0) /* no XI/Core event for you */
goto unwind;
@@ -3789,10 +3789,10 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
}
- if (deliveries && (event->u.any.type == ET_Motion))
+ if (deliveries && (event->any.type == ET_Motion))
thisDev->valuator->motionHintWindow = grab->window;
}
- if (deliveries && !deactivateGrab && event->u.any.type != ET_Motion)
+ if (deliveries && !deactivateGrab && event->any.type != ET_Motion)
{
switch (grabinfo->sync.state)
{
diff --git a/include/events.h b/include/events.h
index 871932049..ab8f2176a 100644
--- a/include/events.h
+++ b/include/events.h
@@ -63,9 +63,9 @@ enum {
ET_Internal = 0xFF /* First byte */
} EventType;
-#define CHECKEVENT(ev) if (ev && ((InternalEvent*)(ev))->u.any.header != 0xFF) \
+#define CHECKEVENT(ev) if (ev && ((InternalEvent*)(ev))->any.header != 0xFF) \
FatalError("Wrong event type %d.\n", \
- ((InternalEvent*)(ev))->u.any.header);
+ ((InternalEvent*)(ev))->any.header);
/**
* Used for ALL input device events internal in the server until
@@ -204,9 +204,7 @@ typedef struct
* Event type used inside the X server for input event
* processing.
*/
-typedef struct
-{
- union {
+typedef union {
struct {
unsigned char header; /**< Always ET_Internal */
int type; /**< One of ET_* */
@@ -219,7 +217,6 @@ typedef struct
DGAEvent dga;
#endif
RawDeviceEvent raw;
- } u;
} InternalEvent;
#endif
diff --git a/mi/mieq.c b/mi/mieq.c
index e2f18e2af..d094e1313 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -165,7 +165,7 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e)
CHECKEVENT(e);
/* avoid merging events from different devices */
- if (e->u.any.type == ET_Motion)
+ if (e->any.type == ET_Motion)
isMotion = pDev->id;
if (isMotion && isMotion == miEventQueue.lastMotion &&
@@ -192,7 +192,7 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e)
stuck = 0;
}
- evlen = e->u.any.length;
+ evlen = e->any.length;
evt = miEventQueue.events[oldtail].events;
if (evt->evlen < evlen)
{
@@ -210,14 +210,14 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e)
memcpy(evt->event, e, evlen);
- time = e->u.any.time;
+ time = e->any.time;
/* Make sure that event times don't go backwards - this
* is "unnecessary", but very useful. */
if (time < miEventQueue.lastEventTime &&
miEventQueue.lastEventTime - time < 10000)
- e->u.any.time = miEventQueue.lastEventTime;
+ e->any.time = miEventQueue.lastEventTime;
- miEventQueue.lastEventTime = ((InternalEvent*)evt->event)->u.any.time;
+ miEventQueue.lastEventTime = ((InternalEvent*)evt->event)->any.time;
miEventQueue.events[oldtail].pScreen = EnqueueScreen(pDev);
miEventQueue.events[oldtail].pDev = pDev;
@@ -264,7 +264,7 @@ mieqSetHandler(int event, mieqHandler handler)
static void
ChangeDeviceID(DeviceIntPtr dev, InternalEvent* event)
{
- switch(event->u.any.type)
+ switch(event->any.type)
{
case ET_Motion:
case ET_KeyPress:
@@ -275,14 +275,14 @@ ChangeDeviceID(DeviceIntPtr dev, InternalEvent* event)
case ET_ProximityOut:
case ET_Hierarchy:
case ET_DeviceChanged:
- event->u.device.deviceid = dev->id;
+ event->device.deviceid = dev->id;
break;
case ET_Raw:
- event->u.raw.deviceid = dev->id;
+ event->raw.deviceid = dev->id;
break;
default:
ErrorF("[mi] Unknown event type (%d), cannot change id.\n",
- event->u.any.type);
+ event->any.type);
}
}
@@ -294,14 +294,14 @@ FixUpEventForMaster(DeviceIntPtr mdev, DeviceIntPtr sdev,
CHECKEVENT(master);
/* Ensure chained button mappings, i.e. that the detail field is the
* value of the mapped button on the SD, not the physical button */
- if (original->u.any.type == ET_ButtonPress ||
- original->u.any.type == ET_ButtonRelease)
+ if (original->any.type == ET_ButtonPress ||
+ original->any.type == ET_ButtonRelease)
{
- int btn = original->u.device.detail.button;
+ int btn = original->device.detail.button;
if (!sdev->button)
return; /* Should never happen */
- master->u.device.detail.button = sdev->button->map[btn];
+ master->device.detail.button = sdev->button->map[btn];
}
}
@@ -316,7 +316,7 @@ void
CopyGetMasterEvent(DeviceIntPtr mdev, DeviceIntPtr sdev,
InternalEvent* original, EventListPtr master)
{
- int len = original->u.any.length;
+ int len = original->any.length;
InternalEvent *mevent;
CHECKEVENT(original);
@@ -349,13 +349,13 @@ mieqProcessDeviceEvent(DeviceIntPtr dev,
CHECKEVENT(event);
/* Custom event handler */
- handler = miEventQueue.handlers[event->u.any.type];
+ handler = miEventQueue.handlers[event->any.type];
if (screen && screen != DequeueScreen(dev) && !handler) {
/* Assumption - screen switching can only occur on motion events. */
DequeueScreen(dev) = screen;
- x = event->u.device.root_x;
- y = event->u.device.root_y;
+ x = event->device.root_x;
+ y = event->device.root_y;
NewCurrentScreen (dev, DequeueScreen(dev), x, y);
}
else {
@@ -441,7 +441,7 @@ mieqProcessInputEvents(void)
mieqProcessDeviceEvent(dev, event, screen);
/* Update the sprite now. Next event may be from different device. */
- if (event->u.any.type == ET_Motion && master)
+ if (event->any.type == ET_Motion && master)
miPointerUpdateSprite(dev);
#ifdef XQUARTZ