X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=type_decoder.c;h=f2ac87d27f633b5e626c2a493dc5c6be96f12e13;hp=2f15ee6115571a723853e0a8a2685cc3346c8a11;hb=9337ab8aff2ddcba3ad57eec78df35c86221fc82;hpb=7969d8035530d40753c4f880c90a4e90f9679ccc diff --git a/type_decoder.c b/type_decoder.c index 2f15ee6..f2ac87d 100644 --- a/type_decoder.c +++ b/type_decoder.c @@ -216,7 +216,7 @@ static int convert_meta(struct srd_proto_data *pdata, PyObject *obj) gstate = PyGILState_Ensure(); - if (pdata->pdo->meta_type == G_VARIANT_TYPE_INT64) { + if (g_variant_type_equal(pdata->pdo->meta_type, G_VARIANT_TYPE_INT64)) { if (!PyLong_Check(obj)) { PyErr_Format(PyExc_TypeError, "This output was registered " "as 'int', but something else was passed."); @@ -226,7 +226,7 @@ static int convert_meta(struct srd_proto_data *pdata, PyObject *obj) if (PyErr_Occurred()) goto err; pdata->data = g_variant_new_int64(intvalue); - } else if (pdata->pdo->meta_type == G_VARIANT_TYPE_DOUBLE) { + } else if (g_variant_type_equal(pdata->pdo->meta_type, G_VARIANT_TYPE_DOUBLE)) { if (!PyFloat_Check(obj)) { PyErr_Format(PyExc_TypeError, "This output was registered " "as 'float', but something else was passed.");