diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-07-05 09:10:28 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-07-05 09:10:28 +0200 |
commit | bf08b99603f1c6b5cf9c0f005e4a7c4b02b66ca4 (patch) | |
tree | 31d29fe44149a431af70d22afb8e3b73db31d8a0 /nx-X11/programs/Xserver/dix | |
parent | 320a8cc0c7fa472970bc3698c7e77b6406ca343b (diff) | |
parent | cb0089bad114e79d5c6e4577da59fa8911d0ee8d (diff) | |
download | nx-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.c | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/dix/events.c | 15 |
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; |