summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-10-01 20:23:59 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-10-01 20:23:59 +0000
commitf777691e9081156e43e9b2c358e5aa8400d55bb0 (patch)
treee0c88c896ba2d37713ff8bbbd2dc990ad71abe8e
parent9e66fd620a355c24550231dc6db979119576e015 (diff)
downloadpygobject-f777691e9081156e43e9b2c358e5aa8400d55bb0.tar.gz
pygobject-f777691e9081156e43e9b2c358e5aa8400d55bb0.tar.xz
pygobject-f777691e9081156e43e9b2c358e5aa8400d55bb0.zip
fix segfaul on error return in gobject.new
-rw-r--r--gobject/gobjectmodule.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index 92393a8..9895688 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -1672,12 +1672,12 @@ pyg_object_new (PyGObject *self, PyObject *args, PyObject *kwargs)
g_free(params);
g_type_class_unref(class);
- if (obj)
+ if (obj) {
self = (PyGObject *) pygobject_new_full((GObject *)obj, FALSE);
- else
+ g_object_unref(obj);
+ pygobject_sink(obj);
+ } else
self = NULL;
- g_object_unref(obj);
- pygobject_sink(obj);
return (PyObject *) self;
}