X-Git-Url: http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=type_decoder.c;fp=type_decoder.c;h=f2ac87d27f633b5e626c2a493dc5c6be96f12e13;hp=2f15ee6115571a723853e0a8a2685cc3346c8a11;hb=ec31b9821dbfad0283a56c6d2b5e7d819c59ba51;hpb=7b34c16345627644b6031fbef7fbdb99b58bfd49 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.");