glshader: prevent from getting attributes without vertex shader
authorNeos3452 <neos3452@gmail.com>
Fri, 13 Mar 2015 17:04:17 +0000 (17:04 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:31:57 +0000 (19:31 +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 143fe5e..3ec1799 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);