[PATCH] glx: Add implementation of __GLXContext->loseCurrent for direct ctxts

Adam Jackson ajax at redhat.com
Mon Dec 1 13:06:17 PST 2014


From: Neil Roberts <neil at linux.intel.com>

This adds a dummy implementation for the loseCurrent function in
__GLXContext for direct contexts which just returns GL_TRUE. Without
this then the X server can crash if receives a MakeCurrent message for
a direct context because it will attempt to call loseCurrent when
cleaning up the client in the callback for ClientStateGone.

[ajax: added assumed s-o-b line]

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86531
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Neil Roberts <neil at linux.intel.com>
---
 glx/glxcmds.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index e0a0213..242ebae 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -198,6 +198,12 @@ __glXdirectContextDestroy(__GLXcontext * context)
     free(context);
 }
 
+static int
+__glXdirectContextLoseCurrent(__GLXcontext * context)
+{
+    return GL_TRUE;
+}
+
 _X_HIDDEN __GLXcontext *
 __glXdirectContextCreate(__GLXscreen * screen,
                          __GLXconfig * modes, __GLXcontext * shareContext)
@@ -209,6 +215,7 @@ __glXdirectContextCreate(__GLXscreen * screen,
         return NULL;
 
     context->destroy = __glXdirectContextDestroy;
+    context->loseCurrent = __glXdirectContextLoseCurrent;
 
     return context;
 }
-- 
1.9.3



More information about the xorg-devel mailing list