diff options
Diffstat (limited to 'src/cairo-evas-gl-context.c')
-rwxr-xr-x | src/cairo-evas-gl-context.c | 10 |
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; |