summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gio/gio.override4
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c9e7b6..444b3a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-04-09 Jonathan Matthew <jonathan@d14n.org>
+
+ Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling
+ Py_XDECREF
+
+ * gio/gio.override: Ensure we're holding the GIL before potentially
+ destroying the callback and data.
+
2009-04-05 Gian Mario Tagliaretti <gianmt@gnome.org>
* gio/gfile.override:
diff --git a/gio/gio.override b/gio/gio.override
index 300e0c7..5170624 100644
--- a/gio/gio.override
+++ b/gio/gio.override
@@ -145,8 +145,12 @@ pygio_notify_free(PyGIONotify *notify)
{
if (notify) {
if (notify->referenced) {
+ PyGILState_STATE state;
+
+ state = pyg_gil_state_ensure();
Py_XDECREF(notify->callback);
Py_XDECREF(notify->data);
+ pyg_gil_state_release(state);
}
if (notify->buffer)