[PATCH] input: switch internal event types to enums.
Peter Hutterer
peter.hutterer at who-t.net
Tue Jul 28 20:45:32 PDT 2009
Use enum EventType instead of ints. This requires a load of default
cases in various switch statements to silence compiler warnings.
Reported-by: Aaron Plattner
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
Xi/exevents.c | 6 ++++++
dix/eventconvert.c | 11 ++++++++++-
include/eventstr.h | 10 +++++-----
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 5c43266..4773c49 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -131,6 +131,8 @@ IsPointerEvent(InternalEvent* event)
case ET_Motion:
/* XXX: enter/leave ?? */
return TRUE;
+ default:
+ break;
}
return FALSE;
}
@@ -1066,6 +1068,8 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
event->corestate = state;
key = event->detail.key;
break;
+ default:
+ break;
}
#if 0
@@ -1120,6 +1124,8 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
device->deviceGrab.grab->type == DeviceButtonPress ||
device->deviceGrab.grab->type == XI_ButtonPress))
deactivateDeviceGrab = TRUE;
+ default:
+ break;
}
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 943178e..866fa29 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -147,6 +147,8 @@ EventToXI(InternalEvent *ev, xEvent **xi, int *count)
*count = 0;
*xi = NULL;
return BadMatch;
+ default:
+ break;
}
ErrorF("[dix] EventToXI: Not implemented for %d \n", ev->any.type);
@@ -196,7 +198,8 @@ EventToXI2(InternalEvent *ev, xEvent **xi)
case ET_RawButtonRelease:
case ET_RawMotion:
return eventToRawEvent((RawDeviceEvent*)ev, xi);
-
+ default:
+ break;
}
ErrorF("[dix] EventToXI2: Not implemented for %d \n", ev->any.type);
@@ -247,6 +250,8 @@ eventToKeyButtonPointer(DeviceEvent *ev, xEvent **xi, int *count)
case ET_KeyRelease: kbp->type = DeviceKeyRelease; break;
case ET_ProximityIn: kbp->type = ProximityIn; break;
case ET_ProximityOut: kbp->type = ProximityOut; break;
+ default:
+ break;
}
if (num_events > 1)
@@ -518,6 +523,8 @@ GetCoreType(InternalEvent *event)
case ET_ButtonRelease: coretype = ButtonRelease; break;
case ET_KeyPress: coretype = KeyPress; break;
case ET_KeyRelease: coretype = KeyRelease; break;
+ default:
+ break;
}
return coretype;
}
@@ -539,6 +546,8 @@ GetXIType(InternalEvent *event)
case ET_KeyRelease: xitype = DeviceKeyRelease; break;
case ET_ProximityIn: xitype = ProximityIn; break;
case ET_ProximityOut: xitype = ProximityOut; break;
+ default:
+ break;
}
return xitype;
}
diff --git a/include/eventstr.h b/include/eventstr.h
index e39beb9..06a57e3 100644
--- a/include/eventstr.h
+++ b/include/eventstr.h
@@ -83,7 +83,7 @@ enum EventType {
struct _DeviceEvent
{
unsigned char header; /**< Always ET_Internal */
- int type; /**< One of EventType */
+ enum EventType type; /**< One of EventType */
int length; /**< Length in bytes */
Time time; /**< Time in ms */
int deviceid; /**< Device to post this event for */
@@ -136,7 +136,7 @@ struct _DeviceEvent
struct _DeviceChangedEvent
{
unsigned char header; /**< Always ET_Internal */
- int type; /**< ET_DeviceChanged */
+ enum EventType type; /**< ET_DeviceChanged */
int length; /**< Length in bytes */
Time time; /**< Time in ms */
int deviceid; /**< Device whose capabilities have changed */
@@ -177,7 +177,7 @@ struct _DeviceChangedEvent
struct _DGAEvent
{
unsigned char header; /**< Always ET_Internal */
- int type; /**< ET_DGAEvent */
+ enum EventType type; /**< ET_DGAEvent */
int length; /**< Length in bytes */
Time time; /**< Time in ms */
int subtype; /**< KeyPress, KeyRelease, ButtonPress,
@@ -196,7 +196,7 @@ struct _DGAEvent
struct _RawDeviceEvent
{
unsigned char header; /**< Always ET_Internal */
- int type; /**< ET_Raw */
+ enum EventType type; /**< ET_Raw */
int length; /**< Length in bytes */
Time time; /**< Time in ms */
int deviceid; /**< Device to post this event for */
@@ -221,7 +221,7 @@ struct _RawDeviceEvent
union _InternalEvent {
struct {
unsigned char header; /**< Always ET_Internal */
- int type; /**< One of ET_* */
+ enum EventType type; /**< One of ET_* */
int length; /**< Length in bytes */
Time time; /**< Time in ms. */
} any;
--
1.6.3.rc1.2.g0164.dirty
Cheers,
Peter
More information about the xorg-devel
mailing list