diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index 566c7b608b5..61d3842e64d 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -113,7 +113,41 @@ QByteArray QtPrivate::QByteArrayList_join(const QByteArrayList *that, const char return QByteArrayList_join(that, {sep, seplen}); } +#endif // QT_REMOVED_SINCE(6, 3) +#if QT_REMOVED_SINCE(6, 4) + +#include "qversionnumber.h" + +# if QT_POINTER_SIZE != 4 +QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixIndex) +{ + qsizetype si; + QVersionNumber r = fromString(QLatin1String(string.toLatin1()), &si); + if (suffixIndex) + *suffixIndex = si; + return r; +} + +QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex) +{ + qsizetype si; + QVersionNumber r = fromString(QLatin1String(string.toLatin1()), &si); + if (suffixIndex) + *suffixIndex = si; + return r; +} + +QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex) +{ + qsizetype si; + QVersionNumber r = fromString(string, &si); + if (suffixIndex) + *suffixIndex = si; + return r; +} +# endif // QT_POINTER_SIZE != 4 + // #include // // implement removed functions from qotherheader.h -#endif // QT_REMOVED_SINCE(6, 3) +#endif // QT_REMOVED_SINCE(6, 4) diff --git a/src/corelib/tools/qversionnumber.cpp b/src/corelib/tools/qversionnumber.cpp index 54524c44055..d30608534fa 100644 --- a/src/corelib/tools/qversionnumber.cpp +++ b/src/corelib/tools/qversionnumber.cpp @@ -413,7 +413,7 @@ QString QVersionNumber::toString() const \sa isNull() */ -QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixIndex) +QVersionNumber QVersionNumber::fromString(const QString &string, qsizetype *suffixIndex) { return fromString(QLatin1String(string.toLatin1()), suffixIndex); } @@ -434,7 +434,7 @@ QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixInde \sa isNull() */ -QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex) +QVersionNumber QVersionNumber::fromString(QStringView string, qsizetype *suffixIndex) { return fromString(QLatin1String(string.toLatin1()), suffixIndex); } @@ -454,7 +454,7 @@ QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex) \sa isNull() */ -QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex) +QVersionNumber QVersionNumber::fromString(QLatin1String string, qsizetype *suffixIndex) { QList seg; @@ -474,7 +474,7 @@ QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex } while (start < endOfString && (end < endOfString && *end == '.')); if (suffixIndex) - *suffixIndex = int(lastGoodEnd - string.begin()); + *suffixIndex = lastGoodEnd - string.begin(); return QVersionNumber(std::move(seg)); } diff --git a/src/corelib/tools/qversionnumber.h b/src/corelib/tools/qversionnumber.h index 9d6c7d30181..175abe4e61c 100644 --- a/src/corelib/tools/qversionnumber.h +++ b/src/corelib/tools/qversionnumber.h @@ -276,10 +276,16 @@ public: [[nodiscard]] Q_CORE_EXPORT QString toString() const; #if QT_STRINGVIEW_LEVEL < 2 - [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(const QString &string, int *suffixIndex = nullptr); + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(const QString &string, qsizetype *suffixIndex = nullptr); +#endif + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QLatin1String string, qsizetype *suffixIndex = nullptr); + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QStringView string, qsizetype *suffixIndex = nullptr); + +#if QT_REMOVED_SINCE(6, 4) && QT_POINTER_SIZE != 4 + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(const QString &string, int *suffixIndex); + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QLatin1String string, int *suffixIndex); + [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QStringView string, int *suffixIndex); #endif - [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QLatin1String string, int *suffixIndex = nullptr); - [[nodiscard]] Q_CORE_EXPORT static Q_DECL_PURE_FUNCTION QVersionNumber fromString(QStringView string, int *suffixIndex = nullptr); [[nodiscard]] friend bool operator> (const QVersionNumber &lhs, const QVersionNumber &rhs) noexcept { return compare(lhs, rhs) > 0; } diff --git a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp index b0dbcb042de..35c5dec36e1 100644 --- a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp +++ b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp @@ -511,7 +511,7 @@ void tst_QVersionNumber::fromString() QFETCH(QVersionNumber, expectedVersion); QFETCH(int, suffixIndex); - int index; + qsizetype index; QCOMPARE(QVersionNumber::fromString(constructionString), expectedVersion); QCOMPARE(QVersionNumber::fromString(constructionString, &index), expectedVersion); QCOMPARE(index, suffixIndex);