Blob Blame History Raw
diff -urN python-gtkextra/gtkextra/gtkextra.override python-gtkextra-1.1.0/gtkextra/gtkextra.override
--- python-gtkextra/gtkextra/gtkextra.override	2011-02-04 16:08:23.221670318 +0100
+++ python-gtkextra-1.1.0/gtkextra/gtkextra.override	2011-02-04 16:18:48.674149417 +0100
@@ -595,6 +595,16 @@
     Py_XDECREF(py_plot);
 }
 
+static void
+pycapsule_strfreev(PyObject *capsule)
+{
+    gchar **v;
+
+    v = PyCapsule_GetPointer(capsule, NULL);
+    if (v != NULL)
+	g_strfreev (v);
+}
+
 /* ---------------------------------------------------------------------- */
 %%
 modulename gtkextra
@@ -977,7 +987,7 @@
     }
 
     labels = g_new0(char *, num_labels+1);
-    py_c_obj = PyCObject_FromVoidPtr(labels, (void*) g_strfreev);
+    py_c_obj = PyCapsule_New(labels, NULL, pycapsule_strfreev);
     pygtkextra_set_data(self, labels_key, py_c_obj);
     Py_DECREF(py_c_obj);