diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-11-17 13:16:39 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-11-17 13:16:39 +0100 |
commit | 39d45a0e8ff58a649e5c8e403f89e3b14ad1c9d2 (patch) | |
tree | d34c52b995ea4e96306518d0ca663c0457d2e4e9 /nx-X11/programs/Xserver/GL/glx/glxext.c | |
parent | 56569f3366841b16c389ca37267776b5c6044f8a (diff) | |
parent | 9a16043722f6d60505a8776048b39cc7f1e799d9 (diff) | |
download | nx-libs-39d45a0e8ff58a649e5c8e403f89e3b14ad1c9d2.tar.gz nx-libs-39d45a0e8ff58a649e5c8e403f89e3b14ad1c9d2.tar.bz2 nx-libs-39d45a0e8ff58a649e5c8e403f89e3b14ad1c9d2.zip |
Merge branch 'uli42-small_fixes' into 3.6.x
Attributes GH PR #532: https://github.com/ArcticaProject/nx-libs/pull/532
Diffstat (limited to 'nx-X11/programs/Xserver/GL/glx/glxext.c')
-rw-r--r-- | nx-X11/programs/Xserver/GL/glx/glxext.c | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/nx-X11/programs/Xserver/GL/glx/glxext.c b/nx-X11/programs/Xserver/GL/glx/glxext.c index cb82dc609..e92e605fa 100644 --- a/nx-X11/programs/Xserver/GL/glx/glxext.c +++ b/nx-X11/programs/Xserver/GL/glx/glxext.c @@ -42,7 +42,6 @@ static __GLXextensionInfo *__glXExt /* = &__glDDXExtensionInfo */; /* ** Forward declarations. */ -static int __glXSwapDispatch(ClientPtr); static int __glXDispatch(ClientPtr); /* @@ -246,7 +245,7 @@ void GlxExtensionInit(void) */ extEntry = AddExtension(GLX_EXTENSION_NAME, __GLX_NUMBER_EVENTS, __GLX_NUMBER_ERRORS, __glXDispatch, - __glXSwapDispatch, ResetExtension, + __glXDispatch, ResetExtension, StandardMinorOpcode); if (!extEntry) { FatalError("__glXExtensionInit: AddExtensions failed\n"); @@ -445,53 +444,10 @@ static int __glXDispatch(ClientPtr client) /* ** Use the opcode to index into the procedure table. */ - proc = __glXSingleTable[opcode]; - return (*proc)(cl, (GLbyte *) stuff); -} - -static int __glXSwapDispatch(ClientPtr client) -{ - REQUEST(xGLXSingleReq); - CARD8 opcode; - int (*proc)(__GLXclientState *cl, GLbyte *pc); - __GLXclientState *cl; - - opcode = stuff->glxCode; - cl = __glXClients[client->index]; - if (!cl) { - cl = (__GLXclientState *) malloc(sizeof(__GLXclientState)); - __glXClients[client->index] = cl; - if (!cl) { - return BadAlloc; - } - memset(cl, 0, sizeof(__GLXclientState)); - } - - if (!cl->inUse) { - /* - ** This is first request from this client. Associate a resource - ** with the client so we will be notified when the client dies. - */ - XID xid = FakeClientID(client->index); - if (!AddResource( xid, __glXClientRes, (void *)(long)client->index)) { - return BadAlloc; - } - ResetClientState(client->index); - cl->inUse = GL_TRUE; - cl->client = client; - } - - /* - ** Check for valid opcode. - */ - if (opcode >= __GLX_SINGLE_TABLE_SIZE) { - return BadRequest; - } - - /* - ** Use the opcode to index into the procedure table. - */ - proc = __glXSwapSingleTable[opcode]; + if (client->swapped) + proc = __glXSwapSingleTable[opcode]; + else + proc = __glXSingleTable[opcode]; return (*proc)(cl, (GLbyte *) stuff); } |