summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
Diffstat (limited to 'Objects')
-rw-r--r--Objects/typeobject.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index d5fdaac..fb48ce2 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3035,7 +3035,7 @@ object_str(PyObject *self)
unaryfunc f;
f = Py_TYPE(self)->tp_repr;
- if (f == NULL || f == object_str)
+ if (f == NULL)
f = object_repr;
return f(self);
}
@@ -5879,7 +5879,8 @@ update_one_slot(PyTypeObject *type, slotdef *p)
}
continue;
}
- if (Py_TYPE(descr) == &PyWrapperDescr_Type) {
+ if (Py_TYPE(descr) == &PyWrapperDescr_Type &&
+ ((PyWrapperDescrObject *)descr)->d_base->name_strobj == p->name_strobj) {
void **tptr = resolve_slotdups(type, p->name_strobj);
if (tptr == NULL || tptr == ptr)
generic = p->function;