File u_0007-glx-Initialize-all-context-fields-together.patch of Package xorg-x11-server

From 232ab8f5869905e7a8eb736b4625366c9f316e9c Mon Sep 17 00:00:00 2001
From: Ian Romanick <ian.d.romanick@intel.com>
Date: Sat, 10 Dec 2011 15:09:57 -0800
Subject: [PATCH 07/11] glx: Initialize all context fields together

v2: Fix whitespace error noticed by Christopher James Halse Rogers.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
---
 glx/glxcmds.c |   26 +++++++++-----------------
 1 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 308c14a..571ae50 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -290,26 +290,10 @@ DoCreateContext(__GLXclientState * cl, GLXContextID gcId,
         return BadAlloc;
     }
 
-    /*
-     ** Initially, setup the part of the context that could be used by
-     ** a GL core that needs windowing information (e.g., Mesa).
+    /* Initialize the GLXcontext structure.
      */
     glxc->pGlxScreen = pGlxScreen;
     glxc->config = config;
-
-    /*
-     ** Register this context as a resource.
-     */
-    if (!AddResource(gcId, __glXContextRes, (pointer) glxc)) {
-        (*glxc->destroy) (glxc);
-        client->errorValue = gcId;
-        return BadAlloc;
-    }
-
-    /*
-     ** Finally, now that everything is working, setup the rest of the
-     ** context.
-     */
     glxc->id = gcId;
     glxc->share_id = shareList;
     glxc->idExists = GL_TRUE;
@@ -317,6 +301,14 @@ DoCreateContext(__GLXclientState * cl, GLXContextID gcId,
     glxc->isDirect = isDirect;
     glxc->renderMode = GL_RENDER;
 
+    /* Register this context as a resource.
+     */
+    if (!AddResource(gcId, __glXContextRes, (pointer)glxc)) {
+        (*glxc->destroy) (glxc);
+        client->errorValue = gcId;
+        return BadAlloc;
+    }
+
     __glXAddToContextList(glxc);
 
     return Success;
-- 
1.7.3.4