summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobject.cpp
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2025-10-05 22:44:08 +0300
committerAhmad Samir <a.samirh78@gmail.com>2025-10-06 22:12:45 +0300
commitd5b30a4eff46db2736a789fb5db66ec67ac77816 (patch)
treecc3ea0b147a0f2df4b377c0921db0bf42cd28099 /src/corelib/kernel/qobject.cpp
parentbd6e3ef2596e6c645f3df49aa514018511d6a9d6 (diff)
QObject: use a view instead of allocating a temporary QByteArray
Also use slice() since its preconditions are checked. Drive-by, the function must have a name, so openParen must be > 0. Amends 352c8ef1997542de2d471a8d929442529b876263. Pick-to: 6.10 6.8 6.5 Change-Id: I15ef991eca4e5bd0dee39af94c13783e46ed7205 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r--src/corelib/kernel/qobject.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index c530f9ba113..fe510898429 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -3900,11 +3900,11 @@ static QByteArray formatConnectionSignature(const char *className, const QMetaMe
const auto signature = method.methodSignature();
Q_ASSERT(signature.endsWith(')'));
const qsizetype openParen = signature.indexOf('(');
- const bool hasParameters = openParen >= 0 && openParen < signature.size() - 2;
+ const bool hasParameters = openParen > 0 && openParen < signature.size() - 2;
QByteArray result;
if (hasParameters) {
- result += "qOverload<"
- + signature.mid(openParen + 1, signature.size() - openParen - 2) + ">(";
+ const qsizetype len = signature.size() - openParen - 2;
+ result += "qOverload<" + QByteArrayView{signature}.slice(openParen + 1, len) + ">(";
}
result += '&';
result += className + QByteArrayLiteral("::") + method.name();