aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/mi/mieq.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/mi/mieq.c')
-rw-r--r--xorg-server/mi/mieq.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/xorg-server/mi/mieq.c b/xorg-server/mi/mieq.c
index 707d0f8ff..66e2806c7 100644
--- a/xorg-server/mi/mieq.c
+++ b/xorg-server/mi/mieq.c
@@ -320,6 +320,7 @@ CopyGetMasterEvent(DeviceIntPtr sdev,
{
DeviceIntPtr mdev;
int len = original->any.length;
+ int type = original->any.type;
CHECKEVENT(original);
@@ -327,7 +328,12 @@ CopyGetMasterEvent(DeviceIntPtr sdev,
if (!sdev || !sdev->u.master)
return NULL;
- switch(original->any.type)
+#if XFreeXDGA
+ if (type == ET_DGAEvent)
+ type = original->dga_event.subtype;
+#endif
+
+ switch(type)
{
case ET_KeyPress:
case ET_KeyRelease:
@@ -443,6 +449,7 @@ mieqProcessInputEvents(void)
event = realloc(event, evlen);
event_size=evlen;
+
if (!event)
FatalError("[mi] No memory left for event processing.\n");
}