[PATCH 09/11] glx: Use one function to add a context to all global tables
Ian Romanick
idr at freedesktop.org
Fri Dec 23 15:18:27 PST 2011
From: Ian Romanick <ian.d.romanick at intel.com>
Instead of having separate __glXAddContextToList and AddResource
functions, just have one function that does both steps.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
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
More information about the xorg-devel
mailing list