mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
Fix bug when checking template object type
This commit is contained in:
parent
96aaedf8b9
commit
eb043251ee
1 changed files with 21 additions and 4 deletions
|
@ -147,10 +147,27 @@ add_templates (gpointer gclass, PyObject * templates)
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
templ = (PyGObject *) PyTuple_GetItem (templates, i);
|
templ = (PyGObject *) PyTuple_GetItem (templates, i);
|
||||||
if (!pygobject_check (templates, &PyGObject_Type) ||
|
|
||||||
GST_IS_PAD_TEMPLATE (pygobject_get (templates)) == FALSE) {
|
if (!pygobject_check (templ, &PyGObject_Type)) {
|
||||||
PyErr_SetString (PyExc_TypeError,
|
PyObject *repr = PyObject_Repr ((PyObject *) templ);
|
||||||
"entries for __gsttemplates__ must be of type GstPadTemplate");
|
#if PY_VERSION_HEX < 0x03000000
|
||||||
|
PyErr_Format (PyExc_TypeError, "expected GObject but got %s",
|
||||||
|
PyString_AsString (repr));
|
||||||
|
#else
|
||||||
|
PyErr_Format (PyExc_TypeError, "expected GObject but got %s",
|
||||||
|
_PyUnicode_AsString (repr));
|
||||||
|
#endif
|
||||||
|
Py_DECREF (repr);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
} else if (!GST_IS_PAD_TEMPLATE (pygobject_get (templ))) {
|
||||||
|
gchar *error =
|
||||||
|
g_strdup_printf
|
||||||
|
("entries for __gsttemplates__ must be of type GstPadTemplate (%s)",
|
||||||
|
G_OBJECT_TYPE_NAME (pygobject_get (templ)));
|
||||||
|
PyErr_SetString (PyExc_TypeError, error);
|
||||||
|
g_free (error);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue