aboutsummaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-06-22 11:45:56 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-06-22 12:36:10 +0200
commit0c76a7c230fcaa346ba92b197fc45abb768f47fd (patch)
treeb738b17175aaca1232ccd07240ab451a6acb3b57 /sources
parent479a6bfbf7fe82a387d313a8bed95f026d9d7922 (diff)
libpyside: Port away from deprecated QRegExp
Task-number: PYSIDE-904 Change-Id: I0280de35578f72ab4616170115c5afed9d6d7488 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources')
-rw-r--r--sources/pyside2/libpyside/pysidesignal.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp
index 32e1bb0c6..f11f5a12d 100644
--- a/sources/pyside2/libpyside/pysidesignal.cpp
+++ b/sources/pyside2/libpyside/pysidesignal.cpp
@@ -899,20 +899,22 @@ const char *getSignature(PySideSignalInstance *signal)
QStringList getArgsFromSignature(const char *signature, bool *isShortCircuit)
{
- const QString qsignature = QLatin1String(signature);
+ QString qsignature = QString::fromLatin1(signature).trimmed();
QStringList result;
- QRegExp splitRegex(QLatin1String("\\s*,\\s*"));
if (isShortCircuit)
*isShortCircuit = !qsignature.contains(QLatin1Char('('));
if (qsignature.contains(QLatin1String("()")) || qsignature.contains(QLatin1String("(void)")))
return result;
- if (qsignature.contains(QLatin1Char('('))) {
- static QRegExp regex(QLatin1String(".+\\((.*)\\)"));
- //get args types
- QString types = qsignature;
- types.replace(regex, QLatin1String("\\1"));
- result = types.split(splitRegex);
+ if (qsignature.endsWith(QLatin1Char(')'))) {
+ const int paren = qsignature.indexOf(QLatin1Char('('));
+ if (paren >= 0) {
+ qsignature.chop(1);
+ qsignature.remove(0, paren + 1);
+ result = qsignature.split(QLatin1Char(','));
+ for (QString &type : result)
+ type = type.trimmed();
+ }
}
return result;
}