summaryrefslogtreecommitdiff
path: root/src/cairo-evas-gl-context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-evas-gl-context.c')
-rwxr-xr-xsrc/cairo-evas-gl-context.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cairo-evas-gl-context.c b/src/cairo-evas-gl-context.c
index 433aafdfe..aa463ee2f 100755
--- a/src/cairo-evas-gl-context.c
+++ b/src/cairo-evas-gl-context.c
@@ -277,6 +277,8 @@ cairo_evas_gl_device_create (Evas_GL *evas_gl,
Evas_GL_Config *evas_cfg;
cairo_evas_gl_context_t *ctx;
cairo_status_t status;
+ const char* str = NULL;
+
if (! evas_gl ||! evas_context) {
fprintf (stderr, "cairo_evas_gl_device_create(): evas_gl or evas_context is NULL\n");
@@ -333,12 +335,16 @@ cairo_evas_gl_device_create (Evas_GL *evas_gl,
return _cairo_gl_context_create_in_error (status);
}
- if (strstr(evas_gl_string_query (ctx->evas_gl, EVAS_GL_EXTENSIONS),
- "GLX_MESA_multithread_makecurrent"))
+ str = evas_gl_string_query (ctx->evas_gl, EVAS_GL_EXTENSIONS);
+
+ if (str && strstr(str, "GLX_MESA_multithread_makecurrent"))
ctx->has_multithread_makecurrent = TRUE;
else
ctx->has_multithread_makecurrent = FALSE;
+ if (str)
+ free (str);
+
// reset vbo_size
ctx->base.vbo_size = 16 * 1024;