1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
From 5594d848a60301243dff803bc0f5281405d28e5a Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 17 May 2013 09:07:44 +1000
Subject: [PATCH 2/3] Copy the sequence number into the target event too
(#64687)
X.Org Bug 64687 <http://bugs.freedesktop.org/show_bug.cgi?id=64687>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
(cherry picked from commit 5d43d4914dcabb6de69859567061e99300e56ef4)
Conflicts:
src/XExtInt.c
(cherry picked from commit 768c64aaf9d89b1b94f873c68b6b5b38a3af79fa)
Conflicts:
src/XExtInt.c
---
src/XExtInt.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/XExtInt.c b/src/XExtInt.c
index 63afb8f..c7e6128 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -891,6 +891,7 @@ static void xge_copy_to_cookie(xGenericEvent* ev,
cookie->type = ev->type;
cookie->evtype = ev->evtype;
cookie->extension = ev->extension;
+ cookie->serial = ev->sequenceNumber;
}
static Bool
@@ -1355,6 +1356,7 @@ wireToDeviceEvent(xXIDeviceEvent *in, XGenericEventCookie* cookie)
out = next_block(&ptr_lib, sizeof(XIDeviceEvent));
out->display = cookie->display;
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->extension = in->extension;
out->evtype = in->evtype;
out->send_event = ((in->type & 0x80) != 0);
@@ -1569,6 +1571,7 @@ wireToDeviceChangedEvent(xXIDeviceChangedEvent *in, XGenericEventCookie *cookie)
cookie->data = out = malloc(sizeof(XIDeviceChangedEvent) + len);
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->display = cookie->display;
out->extension = in->extension;
out->evtype = in->evtype;
@@ -1601,6 +1604,7 @@ wireToHierarchyChangedEvent(xXIHierarchyEvent *in, XGenericEventCookie *cookie)
out->info = (XIHierarchyInfo*)&out[1];
out->display = cookie->display;
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->extension = in->extension;
out->evtype = in->evtype;
out->send_event = ((in->type & 0x80) != 0);
@@ -1642,6 +1646,7 @@ wireToRawEvent(xXIRawEvent *in, XGenericEventCookie *cookie)
out = next_block(&ptr, sizeof(XIRawEvent));
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->display = cookie->display;
out->extension = in->extension;
out->evtype = in->evtype;
@@ -1687,6 +1692,7 @@ wireToEnterLeave(xXIEnterEvent *in, XGenericEventCookie *cookie)
out->buttons.mask = (unsigned char*)&out[1];
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->display = cookie->display;
out->extension = in->extension;
out->evtype = in->evtype;
@@ -1729,6 +1735,7 @@ wireToPropertyEvent(xXIPropertyEvent *in, XGenericEventCookie *cookie)
cookie->data = out;
out->type = in->type;
+ out->serial = in->sequenceNumber;
out->extension = in->extension;
out->evtype = in->evtype;
out->send_event = ((in->type & 0x80) != 0);
--
1.7.7.1
|