aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/signalmanager.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-11-11 09:22:37 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-11-11 15:52:56 +0100
commit8d4312f1cc90f9c7f86f8fefb62d31a61c674fc0 (patch)
tree04af2a1300da868be79793fa3ad1f00d2992c1a5 /sources/pyside6/libpyside/signalmanager.cpp
parent8d5c1b048c25977dd5bd9cdc20ce984c0fe30478 (diff)
Fix clazy warnings
- Fix missing reference in for loop - Fix potential memory leak on error in SignalManager Pick-to: 6.4 Change-Id: I14819572ae250469eccac90dfbc905bf0d33c9de Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6/libpyside/signalmanager.cpp')
-rw-r--r--sources/pyside6/libpyside/signalmanager.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index 9120db5f8..9a9d1c19b 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -23,6 +23,7 @@
#include <QtCore/QByteArrayView>
#include <QtCore/QDebug>
#include <QtCore/QHash>
+#include <QtCore/QScopedPointer>
#include <algorithm>
#include <limits>
@@ -494,11 +495,11 @@ int SignalManager::callPythonMetaMethod(const QMetaMethod &method, void **args,
}
if (pyArguments) {
- Shiboken::Conversions::SpecificConverter *retConverter = nullptr;
+ QScopedPointer<Shiboken::Conversions::SpecificConverter> retConverter;
const char *returnType = method.typeName();
if (returnType && std::strcmp("", returnType) && std::strcmp("void", returnType)) {
- retConverter = new Shiboken::Conversions::SpecificConverter(returnType);
- if (!retConverter || !*retConverter) {
+ retConverter.reset(new Shiboken::Conversions::SpecificConverter(returnType));
+ if (!retConverter->isValid()) {
PyErr_Format(PyExc_RuntimeError, "Can't find converter for '%s' to call Python meta method.", returnType);
return -1;
}
@@ -513,7 +514,6 @@ int SignalManager::callPythonMetaMethod(const QMetaMethod &method, void **args,
if (!retval.isNull() && retval != Py_None && !PyErr_Occurred() && retConverter) {
retConverter->toCpp(retval, args[0]);
}
- delete retConverter;
}
return -1;