diff options
Diffstat (limited to 'gio/gicon.override')
-rw-r--r-- | gio/gicon.override | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gio/gicon.override b/gio/gicon.override index 6cbe180..a4ec7eb 100644 --- a/gio/gicon.override +++ b/gio/gicon.override @@ -109,7 +109,7 @@ _wrap_g_loadable_icon_load_async(PyGObject *self, GCancellable *cancellable; PyGIONotify *notify; - notify = g_slice_new0(PyGIONotify); + notify = pygio_notify_new(); if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|iOO:gio.LoadableIcon.load_async", @@ -117,16 +117,13 @@ _wrap_g_loadable_icon_load_async(PyGObject *self, ¬ify->callback, &size, &pycancellable, ¬ify->data)) goto error; - if (!PyCallable_Check(notify->callback)) { - PyErr_SetString(PyExc_TypeError, "callback argument not callable"); - goto error; - } + if (!pygio_notify_callback_is_valid(notify)) + goto error; if (!pygio_check_cancellable(pycancellable, &cancellable)) goto error; - Py_INCREF(notify->callback); - Py_XINCREF(notify->data); + pygio_notify_reference_callback(notify); g_loadable_icon_load_async(G_LOADABLE_ICON(self->obj), size, @@ -137,7 +134,7 @@ _wrap_g_loadable_icon_load_async(PyGObject *self, return Py_None; error: - g_slice_free(PyGIONotify, notify); + pygio_notify_free(notify); return NULL; } %% |