]> sigrok.org Git - libsigrokdecode.git/blobdiff - type_decoder.c
Add new decoder: Intel MCS-48
[libsigrokdecode.git] / type_decoder.c
index 79e9c4924ebd3083605037a0b42b051a53bcf024..16e25a7b92f8885dd22f11fb344cb30b9cd98d2c 100644 (file)
@@ -247,6 +247,13 @@ err:
        return SRD_ERR_PYTHON;
 }
 
+static void release_meta(GVariant *gvar)
+{
+       if (!gvar)
+               return;
+       g_variant_unref(gvar);
+}
+
 static PyObject *Decoder_put(PyObject *self, PyObject *args)
 {
        GSList *l;
@@ -259,6 +266,8 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
        struct srd_pd_callback *cb;
        PyGILState_STATE gstate;
 
+       py_data = NULL;
+
        gstate = PyGILState_Ensure();
 
        if (!(di = srd_inst_find_by_obj(NULL, self))) {
@@ -351,6 +360,7 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
                        Py_BEGIN_ALLOW_THREADS
                        cb->cb(&pdata, cb->cb_data);
                        Py_END_ALLOW_THREADS
+                       release_meta(pdata.data);
                }
                break;
        default: