Mesa (master): dri3: Check for dummyContext to see if the glx_context is valid

Emil Velikov evelikov at kemper.freedesktop.org
Wed Apr 27 12:07:18 UTC 2016


Module: Mesa
Branch: master
Commit: 7d25ed70362ee9362aeeadb00f5a4e2bea690827
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d25ed70362ee9362aeeadb00f5a4e2bea690827

Author: Stefan Dirsch <sndirsch at suse.de>
Date:   Mon Apr 25 15:06:25 2016 +0200

dri3: Check for dummyContext to see if the glx_context is valid

According to the comments in src/glx/glxcurrent.c __glXGetCurrentContext()
always returns a valid pointer. If no context is made current, it will
contain dummyContext. Thus a test for NULL will always fail.

https://lists.freedesktop.org/archives/mesa-dev/2016-April/113962.html

Signed-off-by: Stefan Dirsch <sndirsch at suse.de>
Reviewed-by: Egbert Eich <eich at freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/glx/dri3_glx.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
index 6729357..90d7bba 100644
--- a/src/glx/dri3_glx.c
+++ b/src/glx/dri3_glx.c
@@ -127,13 +127,9 @@ static __DRIcontext *
 glx_dri3_get_dri_context(struct loader_dri3_drawable *draw)
 {
    struct glx_context *gc = __glXGetCurrentContext();
+   struct dri3_context *dri3Ctx = (struct dri3_context *) gc;
 
-   if (gc) {
-      struct dri3_context *dri3Ctx = (struct dri3_context *) gc;
-      return dri3Ctx->driContext;
-   }
-
-   return NULL;
+   return (gc != &dummyContext) ? dri3Ctx->driContext : NULL;
 }
 
 static void




More information about the mesa-commit mailing list