aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/signalmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside/signalmanager.cpp')
-rw-r--r--sources/pyside6/libpyside/signalmanager.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index ed7067a2e..d08fb56bf 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -353,6 +353,18 @@ void SignalManager::handleMetaCallError()
Py_SetRecursionLimit(reclimit);
}
+const char *metaObjectCallName(QMetaObject::Call call)
+{
+ static const char *names[] = {
+ "InvokeMetaMethod", "ReadProperty", "WriteProperty", "ResetProperty",
+ "CreateInstance", "IndexOfMethod", "RegisterPropertyMetaType",
+ "RegisterMethodArgumentMetaType", "BindableProperty", "CustomCall",
+ "ConstructInPlace"};
+ constexpr size_t count = sizeof(names)/sizeof(names[0]);
+ static_assert(QMetaObject::ConstructInPlace == count - 1);
+ return call >= 0 && call < count ? names[call] : "<unknown>";
+}
+
// Handler for QMetaObject::ReadProperty/WriteProperty/ResetProperty:
int SignalManagerPrivate::qtPropertyMetacall(QObject *object,
QMetaObject::Call call,
@@ -398,7 +410,7 @@ int SignalManagerPrivate::qtPropertyMetacall(QObject *object,
}
qWarning().noquote().nospace()
- << "An error occurred executing the property metacall " << call
+ << "An error occurred executing the property metacall " << metaObjectCallName(call)
<< " on property \"" << mp.name() << "\" of " << object;
handleMetaCallError(object, &result);
}