diff options
| author | Ahmad Samir <a.samirh78@gmail.com> | 2025-10-05 22:44:08 +0300 |
|---|---|---|
| committer | Ahmad Samir <a.samirh78@gmail.com> | 2025-10-06 22:12:45 +0300 |
| commit | d5b30a4eff46db2736a789fb5db66ec67ac77816 (patch) | |
| tree | cc3ea0b147a0f2df4b377c0921db0bf42cd28099 /src/corelib/kernel/qobject.cpp | |
| parent | bd6e3ef2596e6c645f3df49aa514018511d6a9d6 (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.cpp | 6 |
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(); |
