summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>2002-01-28 00:46:55 +0000
committerJames Henstridge <jamesh@src.gnome.org>2002-01-28 00:46:55 +0000
commit88c8c2e51fa241063b3b920c52ba8d63334ad142 (patch)
tree98703e6202b0e115a30e7abc1c4c507deb0025e7
parent8e734f43219e65c370c0ff424ca79892f181eadb (diff)
downloadpygobject-PYGTK_1_99_7.tar.gz
same code here, if __doc__ hasn't already been set. (initgobject): don'tPYGTK_1_99_7
2002-01-28 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_type_register): same code here, if __doc__ hasn't already been set. (initgobject): don't bother setting __doc__ on GObject here, as pygobject_register_class() does this for us. * pygobject.c (pygobject_register_class): need to set the __doc__ descriptor on every class, otherwise it gets lost.
-rw-r--r--gobject/gobjectmodule.c8
-rw-r--r--gobject/pygobject.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index d2f39477..7ed3164d 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -905,6 +905,12 @@ pyg_type_register(PyObject *self, PyObject *args)
PyDict_SetItemString(class->tp_dict, "__gtype__", gtype);
Py_DECREF(gtype);
+ /* if no __doc__, set it to the auto doc descriptor */
+ if (PyDict_GetItemString(class->tp_dict, "__doc__") == NULL) {
+ PyDict_SetItemString(class->tp_dict, "__doc__",
+ pyg_object_descr_doc_get());
+ }
+
/* we look this up in the instance dictionary, so we don't
* accidentally get a parent type's __gsignals__ attribute. */
gsignals = PyDict_GetItemString(class->tp_dict, "__gsignals__");
@@ -1353,8 +1359,6 @@ initgobject(void)
pygobject_register_class(d, "GObject", G_TYPE_OBJECT,
&PyGObject_Type, NULL);
- PyDict_SetItemString(PyGObject_Type.tp_dict, "__doc__",
- pyg_object_descr_doc_get());
PyDict_SetItemString(PyGObject_Type.tp_dict, "__gdoc__",
pyg_object_descr_doc_get());
diff --git a/gobject/pygobject.c b/gobject/pygobject.c
index b051b1ea..d54b5b31 100644
--- a/gobject/pygobject.c
+++ b/gobject/pygobject.c
@@ -56,6 +56,10 @@ pygobject_register_class(PyObject *dict, const gchar *type_name,
g_type_set_qdata(gtype, pygobject_class_key, type);
}
+ /* set up __doc__ descriptor on type */
+ PyDict_SetItemString(type->tp_dict, "__doc__",
+ pyg_object_descr_doc_get());
+
PyDict_SetItemString(dict, (char *)class_name, (PyObject *)type);
}