diff options
| author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-09-13 17:51:31 +0000 |
|---|---|---|
| committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-09-13 17:51:31 +0000 |
| commit | df571264325479476c8a534fa5ba2ca75ec397ed (patch) | |
| tree | 12d4df1e83da1210d9039b938b18db141c67e867 | |
| parent | 11a3fe5dfe6ff209f10a3958a51a2bca4608154c (diff) | |
| download | pygobject-df571264325479476c8a534fa5ba2ca75ec397ed.tar.gz pygobject-df571264325479476c8a534fa5ba2ca75ec397ed.tar.xz pygobject-df571264325479476c8a534fa5ba2ca75ec397ed.zip | |
better error messages when registering properties
| -rw-r--r-- | gobject/gobjectmodule.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index cd08c34..0a84488 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -925,7 +925,17 @@ add_properties (GType instance_type, PyObject *properties) if (pspec) { g_object_class_install_property(oclass, 1, pspec); } else { + PyObject *type, *value, *traceback; ret = FALSE; + PyErr_Fetch(&type, &value, &traceback); + if (PyString_Check(value)) { + char msg[256]; + g_snprintf(msg, 256, "%s (while registering property '%s' for GType '%s')", + PyString_AsString(value), prop_name, g_type_name(instance_type)); + Py_DECREF(value); + value = PyString_FromString(msg); + } + PyErr_Restore(type, value, traceback); break; } } |
