aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/dix/dispatch.c
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-02-19 00:06:54 +0100
committerUlrich Sibiller <uli42@gmx.de>2017-02-24 12:09:20 +0100
commit3d8575c2114ed98e525c422bba88e04f0af7f029 (patch)
treed24fcf630f3e50c8c12fe3bbfe7b16e4ced02f6e /nx-X11/programs/Xserver/dix/dispatch.c
parent3c322ffbb911b70415c47cb8ba1c3559241819f6 (diff)
downloadnx-libs-3d8575c2114ed98e525c422bba88e04f0af7f029.tar.gz
nx-libs-3d8575c2114ed98e525c422bba88e04f0af7f029.tar.bz2
nx-libs-3d8575c2114ed98e525c422bba88e04f0af7f029.zip
dix: fix incomplete commit
The following commit turned out to be incomplete. This commit makes it complete by removing client->lastDrawable/lastGC everywhere thus fixing ArcticaProject/nx-libs#306 and #322 commit e6f2f6427122dc4bc802acebf26f8cec16cd2f62 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Jun 20 16:45:38 2016 +0200 dix: remove caching of drawables and graphics contexts. The security checks simply bypass the cached values so they are unused. Backported from X.org: commit 9a183d7ba50e31afa133cc03aee7991517a283ea Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Tue Aug 14 11:39:26 2007 -0400 dix: remove caching of drawables and graphics contexts. The security checks simply bypass the cached values so they are unused. Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Diffstat (limited to 'nx-X11/programs/Xserver/dix/dispatch.c')
-rw-r--r--nx-X11/programs/Xserver/dix/dispatch.c42
1 files changed, 1 insertions, 41 deletions
diff --git a/nx-X11/programs/Xserver/dix/dispatch.c b/nx-X11/programs/Xserver/dix/dispatch.c
index 02d5170fb..044ba1c4b 100644
--- a/nx-X11/programs/Xserver/dix/dispatch.c
+++ b/nx-X11/programs/Xserver/dix/dispatch.c
@@ -216,33 +216,6 @@ InitSelections()
}
#endif /* NXAGENT_SERVER */
-void
-FlushClientCaches(XID id)
-{
- int i;
- register ClientPtr client;
-
- client = clients[CLIENT_ID(id)];
- if (client == NullClient)
- return ;
- for (i=0; i<currentMaxClients; i++)
- {
- client = clients[i];
- if (client != NullClient)
- {
- if (client->lastDrawableID == id)
- {
- client->lastDrawableID = screenInfo.screens[0]->root->drawable.id;
- client->lastDrawable = (DrawablePtr)screenInfo.screens[0]->root;
- }
- else if (client->lastGCID == id)
- {
- client->lastGCID = INVALID;
- client->lastGC = (GCPtr)NULL;
- }
- }
- }
-}
#undef SMART_DEBUG
#define SMART_SCHEDULE_DEFAULT_INTERVAL 20 /* ms */
@@ -3629,20 +3602,7 @@ void InitClient(ClientPtr client, int i, void * ospriv)
client->sequence = 0;
client->clientAsMask = ((Mask)i) << CLIENTOFFSET;
client->clientGone = FALSE;
- if (i)
- {
- client->closeDownMode = DestroyAll;
- client->lastDrawable = (DrawablePtr)screenInfo.screens[0]->root;
- client->lastDrawableID = screenInfo.screens[0]->root->drawable.id;
- }
- else
- {
- client->closeDownMode = RetainPermanent;
- client->lastDrawable = (DrawablePtr)NULL;
- client->lastDrawableID = INVALID;
- }
- client->lastGC = (GCPtr) NULL;
- client->lastGCID = INVALID;
+ client->closeDownMode = i ? DestroyAll : RetainPermanent;
client->numSaved = 0;
client->saveSet = (SaveSetElt *)NULL;
client->noClientException = Success;