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
