aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/dix
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-07-05 09:10:28 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-07-05 09:10:28 +0200
commitbf08b99603f1c6b5cf9c0f005e4a7c4b02b66ca4 (patch)
tree31d29fe44149a431af70d22afb8e3b73db31d8a0 /nx-X11/programs/Xserver/dix
parent320a8cc0c7fa472970bc3698c7e77b6406ca343b (diff)
parentcb0089bad114e79d5c6e4577da59fa8911d0ee8d (diff)
downloadnx-libs-bf08b99603f1c6b5cf9c0f005e4a7c4b02b66ca4.tar.gz
nx-libs-bf08b99603f1c6b5cf9c0f005e4a7c4b02b66ca4.tar.bz2
nx-libs-bf08b99603f1c6b5cf9c0f005e4a7c4b02b66ca4.zip
Merge branch 'sunweaver-pr/writeeventstoclients-no-sequencenumber' into 3.6.x
Attributes GH PR #177: https://github.com/ArcticaProject/nx-libs/pull/177 Reviewed by: Vadim Troshchinskiy <vadim@qindel.com> -- Tue, 05 Jul 2016 00:02:17 -0700
Diffstat (limited to 'nx-X11/programs/Xserver/dix')
-rw-r--r--nx-X11/programs/Xserver/dix/dispatch.c1
-rw-r--r--nx-X11/programs/Xserver/dix/events.c15
2 files changed, 7 insertions, 9 deletions
diff --git a/nx-X11/programs/Xserver/dix/dispatch.c b/nx-X11/programs/Xserver/dix/dispatch.c
index f799ce289..826adfb5c 100644
--- a/nx-X11/programs/Xserver/dix/dispatch.c
+++ b/nx-X11/programs/Xserver/dix/dispatch.c
@@ -3953,7 +3953,6 @@ SendErrorToClient(ClientPtr client, unsigned majorCode, unsigned minorCode,
memset(&rep, 0, sizeof(xError));
rep.type = X_Error;
- rep.sequenceNumber = client->sequence;
rep.errorCode = errorCode;
rep.majorCode = majorCode;
rep.minorCode = minorCode;
diff --git a/nx-X11/programs/Xserver/dix/events.c b/nx-X11/programs/Xserver/dix/events.c
index 676640f01..6fefa512a 100644
--- a/nx-X11/programs/Xserver/dix/events.c
+++ b/nx-X11/programs/Xserver/dix/events.c
@@ -1546,14 +1546,6 @@ TryClientEvents (ClientPtr client, xEvent *pEvents, int count, Mask mask,
return 1;
}
#endif
- type &= 0177;
- if (type != KeymapNotify)
- {
- /* all extension events must have a sequence number */
- for (i = 0; i < count; i++)
- pEvents[i].u.u.sequenceNumber = client->sequence;
- }
-
if (BitIsOn(criticalEvents, type))
{
#ifdef SMART_SCHEDULE
@@ -4439,6 +4431,13 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events)
xEvent eventTo, *eventFrom;
int i;
+ if (!pClient || pClient == serverClient || pClient->clientGone)
+ return;
+
+ for (i = 0; i < count; i++)
+ if ((events[i].u.u.type & 0x7f) != KeymapNotify)
+ events[i].u.u.sequenceNumber = pClient->sequence;
+
#ifdef XKB
if ((!noXkbExtension)&&(!XkbFilterEvents(pClient, count, events)))
return;