glshader: prevent from getting attributes without vertex shader
authorNeos3452 <neos3452@gmail.com>
Fri, 13 Mar 2015 17:04:17 +0000 (17:04 +0000)
committerMatthew Waters <matthew@centricular.com>
Fri, 13 Mar 2015 17:35:18 +0000 (17:35 +0000)
It doesn't make sense to query for vertex attributes without a vertex
shader. Moreover this is causing a crash on OSX.

https://bugzilla.gnome.org/show_bug.cgi?id=746168

gst-libs/gst/gl/gstglshader.c

index 143fe5e9e21d11d0bce31fc9b896f0612b4b3689..3ec1799f9ffb98c20c16bf4ea1fcf7efd0ff7925 100644 (file)
@@ -1170,6 +1170,9 @@ gst_gl_shader_get_attribute_location (GstGLShader * shader, const gchar * name)
   g_return_val_if_fail (shader != NULL, 0);
   priv = shader->priv;
   g_return_val_if_fail (priv->program_handle != 0, 0);
+  if (0 == priv->vertex_handle)
+    return -1;
+
   gl = shader->context->gl_vtable;
 
   return gl->GetAttribLocation (priv->program_handle, name);