From: Ian Romanick <[email protected]>

Instead of having separate __glXAddContextToList and AddResource
functions, just have one function that does both steps.

Signed-off-by: Ian Romanick <[email protected]>
---
 glx/glxcmds.c |    9 +++------
 glx/glxext.c  |   10 +++++++++-
 glx/glxext.h  |    2 +-
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 983f21a..0dce420 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -305,16 +305,13 @@ DoCreateContext(__GLXclientState *cl, GLXContextID gcId,
     glxc->drawPriv = NULL;
     glxc->readPriv = NULL;
 
-    /*
-    ** Register this context as a resource.
-    */
-    if (!AddResource(gcId, __glXContextRes, (pointer)glxc)) {
+    /* Add the new context to the various global tables of GLX contexts.
+     */
+    if (!__glXAddContext(glxc)) {
        (*glxc->destroy)(glxc);
        client->errorValue = gcId;
        return BadAlloc;
     }
-    
-    __glXAddToContextList(glxc);
 
     return Success;
 }
diff --git a/glx/glxext.c b/glx/glxext.c
index f8fe43b..61eb35b 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -152,10 +152,18 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
     return True;
 }
 
-void __glXAddToContextList(__GLXcontext *cx)
+Bool __glXAddContext(__GLXcontext *cx)
 {
+    /*
+    ** Register this context as a resource.
+    */
+    if (!AddResource(cx->id, __glXContextRes, (pointer)cx)) {
+       return False;
+    }
+
     cx->next = glxAllContexts;
     glxAllContexts = cx;
+    return True;
 }
 
 static void __glXRemoveFromContextList(__GLXcontext *cx)
diff --git a/glx/glxext.h b/glx/glxext.h
index 58cf054..cb1707d 100644
--- a/glx/glxext.h
+++ b/glx/glxext.h
@@ -38,7 +38,7 @@
 extern GLboolean __glXFreeContext(__GLXcontext *glxc);
 extern void __glXFlushContextCache(void);
 
-extern void __glXAddToContextList(__GLXcontext *cx);
+extern Bool __glXAddContext(__GLXcontext *cx);
 extern void __glXErrorCallBack(GLenum code);
 extern void __glXClearErrorOccured(void);
 extern GLboolean __glXErrorOccured(void);
-- 
1.7.6.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to