On 01/03/2012 04:28 PM, Jesse Barnes wrote:
On Fri, 23 Dec 2011 15:18:27 -0800
"Ian Romanick"<[email protected]>  wrote:

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);

Seems ok, but should you update the corresponding DMX code too?

I don't think so. glxproxy never used __glXAddToContextList, and, as far as I can tell, it has it's own __glXContextRes (in global.c). I don't think there should be any interactions here.

_______________________________________________
[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