aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2')
-rw-r--r--sources/shiboken2/libshiboken/signature.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/shiboken2/libshiboken/signature.cpp b/sources/shiboken2/libshiboken/signature.cpp
index 2f080edad..2cade65e0 100644
--- a/sources/shiboken2/libshiboken/signature.cpp
+++ b/sources/shiboken2/libshiboken/signature.cpp
@@ -730,7 +730,9 @@ static int
pyside_set___signature__(PyObject *op, PyObject *value)
{
// By this additional check, this function refuses write access.
- if (get_signature_intern(op, nullptr)) {
+ // We consider both nullptr and Py_None as not been written.
+ Shiboken::AutoDecRef has_val(get_signature_intern(op, nullptr));
+ if (!(has_val.isNull() || has_val == Py_None)) {
PyErr_Format(PyExc_AttributeError,
"Attribute '__signature__' of '%.50s' object is not writable",
Py_TYPE(op)->tp_name);