diff options
-rw-r--r-- | gobject/gobjectmodule.c | 8 | ||||
-rw-r--r-- | gobject/pygobject.c | 4 |
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); } |