diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp index 6650d2f626..9a3ec434c5 100644 --- a/src/corelib/kernel/qmimedata.cpp +++ b/src/corelib/kernel/qmimedata.cpp @@ -341,13 +341,7 @@ QList QMimeData::urls() const void QMimeData::setUrls(const QList &urls) { Q_D(QMimeData); - QList list; - const int numUrls = urls.size(); - list.reserve(numUrls); - for (int i = 0; i < numUrls; ++i) - list.append(urls.at(i)); - - d->setData(textUriListLiteral(), list); + d->setData(textUriListLiteral(), QList(urls.cbegin(), urls.cend())); } /*! diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp index 4ca205bb7d..84f572a003 100644 --- a/src/corelib/plugin/qlibrary_unix.cpp +++ b/src/corelib/plugin/qlibrary_unix.cpp @@ -199,7 +199,7 @@ bool QLibraryPrivate::load_sys() continue; if (loadHints & QLibrary::LoadArchiveMemberHint) { attempt = name; - int lparen = attempt.indexOf(u'('); + qsizetype lparen = attempt.indexOf(u'('); if (lparen == -1) lparen = attempt.size(); attempt = path + prefixes.at(prefix) + attempt.insert(lparen, suffixes.at(suffix)); diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp index b8052d5596..c6341199c9 100644 --- a/src/corelib/plugin/qpluginloader.cpp +++ b/src/corelib/plugin/qpluginloader.cpp @@ -235,7 +235,7 @@ static QString locatePlugin(const QString& fileName) suffixes.prepend(QString()); // Split up "subdir/filename" - const int slash = fileName.lastIndexOf(u'/'); + const qsizetype slash = fileName.lastIndexOf(u'/'); const auto baseName = QStringView{fileName}.mid(slash + 1); const auto basePath = isAbsolute ? QStringView() : QStringView{fileName}.left(slash + 1); // keep the '/' diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp index 20ba0c14ca..c10f412ea9 100644 --- a/src/corelib/serialization/qcborvalue.cpp +++ b/src/corelib/serialization/qcborvalue.cpp @@ -973,7 +973,7 @@ QCborContainerPrivate *QCborContainerPrivate::grow(QCborContainerPrivate *d, qsi Q_ASSERT(index >= 0); d = detach(d, index + 1); Q_ASSERT(d); - int j = d->elements.size(); + qsizetype j = d->elements.size(); while (j++ < index) d->append(Undefined()); return d; diff --git a/src/corelib/serialization/qjsonparser.cpp b/src/corelib/serialization/qjsonparser.cpp index dba603815f..8d86639833 100644 --- a/src/corelib/serialization/qjsonparser.cpp +++ b/src/corelib/serialization/qjsonparser.cpp @@ -839,7 +839,7 @@ static inline bool scanUtf8Char(const char *&json, const char *end, char32_t *re const auto *usrc = reinterpret_cast(json); const auto *uend = reinterpret_cast(end); const uchar b = *usrc++; - int res = QUtf8Functions::fromUtf8(b, result, usrc, uend); + qsizetype res = QUtf8Functions::fromUtf8(b, result, usrc, uend); if (res < 0) return false; diff --git a/src/corelib/serialization/qjsonwriter.cpp b/src/corelib/serialization/qjsonwriter.cpp index b0e6ef1d0c..56c751426d 100644 --- a/src/corelib/serialization/qjsonwriter.cpp +++ b/src/corelib/serialization/qjsonwriter.cpp @@ -35,7 +35,7 @@ static QByteArray escapedString(const QString &s) while (src != end) { if (cursor >= ba_end - 6) { // ensure we have enough space - int pos = cursor - (const uchar *)ba.constData(); + qptrdiff pos = cursor - (const uchar *)ba.constData(); ba.resize(ba.size()*2); cursor = (uchar *)ba.data() + pos; ba_end = (const uchar *)ba.constData() + ba.size(); diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp index 6923e35736..9467f7795c 100644 --- a/src/corelib/text/qlocale.cpp +++ b/src/corelib/text/qlocale.cpp @@ -3384,7 +3384,9 @@ QString QCalendarBackend::dateTimeToString(QStringView format, const QDateTime & } const QChar c = format.at(i); - qsizetype repeat = qt_repeatCount(format.mid(i)); + qsizetype rep = qt_repeatCount(format.mid(i)); + Q_ASSERT(rep < std::numeric_limits::max()); + int repeat = int(rep); bool used = false; if (formatDate) { switch (c.unicode()) { diff --git a/src/corelib/thread/qfutureinterface.cpp b/src/corelib/thread/qfutureinterface.cpp index 790963547c..7784ec0939 100644 --- a/src/corelib/thread/qfutureinterface.cpp +++ b/src/corelib/thread/qfutureinterface.cpp @@ -800,7 +800,7 @@ void QFutureInterfaceBasePrivate::connectOutputInterface(QFutureCallOutInterface void QFutureInterfaceBasePrivate::disconnectOutputInterface(QFutureCallOutInterface *interface) { QMutexLocker lock(&m_mutex); - const int index = outputConnections.indexOf(interface); + const qsizetype index = outputConnections.indexOf(interface); if (index == -1) return; outputConnections.removeAt(index); diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 27bf04da74..7ca58854ac 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -259,7 +259,7 @@ struct QWindowGeometrySpecification static inline int nextGeometryToken(const QByteArray &a, int &pos, char *op) { *op = 0; - const int size = a.size(); + const qsizetype size = a.size(); if (pos >= size) return -1; @@ -1311,7 +1311,7 @@ static void init_platform(const QString &pluginNamesWithArguments, const QString if (!platformArguments.isEmpty()) { if (QObject *nativeInterface = QGuiApplicationPrivate::platform_integration->nativeInterface()) { for (const QString &argument : std::as_const(platformArguments)) { - const int equalsPos = argument.indexOf(u'='); + const qsizetype equalsPos = argument.indexOf(u'='); const QByteArray name = equalsPos != -1 ? argument.left(equalsPos).toUtf8() : argument.toUtf8(); const QVariant value = @@ -1331,7 +1331,7 @@ static void init_plugins(const QList &pluginList) { for (int i = 0; i < pluginList.size(); ++i) { QByteArray pluginSpec = pluginList.at(i); - int colonPos = pluginSpec.indexOf(':'); + qsizetype colonPos = pluginSpec.indexOf(':'); QObject *plugin; if (colonPos < 0) plugin = QGenericPluginFactory::create(QLatin1StringView(pluginSpec), QString()); @@ -1598,7 +1598,7 @@ void Q_TRACE_INSTRUMENT(qtgui) QGuiApplicationPrivate::init() ++i; if (argv[i] && *argv[i]) { session_id = QString::fromLatin1(argv[i]); - int p = session_id.indexOf(u'_'); + qsizetype p = session_id.indexOf(u'_'); if (p >= 0) { session_key = session_id.mid(p +1); session_id = session_id.left(p); diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 31626ec222..a0e1b48dcb 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -699,7 +699,7 @@ QVector QHighDpiScaling::parseScreenScaleFactorsS // - a semicolon-separated name=factor list: "foo=1.5;bar=2;baz=3" const auto specs = screenScaleFactors.split(u';'); for (const auto &spec : specs) { - const int equalsPos = spec.lastIndexOf(u'='); + const qsizetype equalsPos = spec.lastIndexOf(u'='); if (equalsPos == -1) { // screens in order bool ok; diff --git a/src/gui/kernel/qinternalmimedata.cpp b/src/gui/kernel/qinternalmimedata.cpp index 9fd7f89a0f..d33402703e 100644 --- a/src/gui/kernel/qinternalmimedata.cpp +++ b/src/gui/kernel/qinternalmimedata.cpp @@ -20,7 +20,7 @@ static QStringList imageMimeFormats(const QList &imageFormats) formats.append("image/"_L1 + QLatin1StringView(format.toLower())); //put png at the front because it is best - int pngIndex = formats.indexOf("image/png"_L1); + const qsizetype pngIndex = formats.indexOf("image/png"_L1); if (pngIndex != -1 && pngIndex != 0) formats.move(pngIndex, 0); diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index cd7256a5fb..ffd19f8b2f 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -940,7 +940,7 @@ QKeySequence QKeySequence::mnemonic(const QString &text) return ret; bool found = false; - int p = 0; + qsizetype p = 0; while (p >= 0) { p = text.indexOf(u'&', p) + 1; if (p <= 0 || p >= (int)text.size()) @@ -993,7 +993,7 @@ int QKeySequence::assign(const QString &ks, QKeySequence::SequenceFormat format) { QString keyseq = ks; int n = 0; - int p = 0, diff = 0; + qsizetype p = 0, diff = 0; // Run through the whole string, but stop // if we have MaxKeyCount keys before the end. @@ -1111,8 +1111,8 @@ int QKeySequencePrivate::decodeString(QString accel, QKeySequence::SequenceForma return Qt::Key_unknown; #endif - int i = 0; - int lastI = 0; + qsizetype i = 0; + qsizetype lastI = 0; while ((i = sl.indexOf(u'+', i + 1)) != -1) { const QStringView sub = QStringView{sl}.mid(lastI, i - lastI + 1); // If we get here the shortcuts contains at least one '+'. We break up @@ -1146,7 +1146,7 @@ int QKeySequencePrivate::decodeString(QString accel, QKeySequence::SequenceForma lastI = i + 1; } - int p = accel.lastIndexOf(u'+', accel.size() - 2); // -2 so that Ctrl++ works + qsizetype p = accel.lastIndexOf(u'+', accel.size() - 2); // -2 so that Ctrl++ works QStringView accelRef(accel); if (p > 0) accelRef = accelRef.mid(p + 1); diff --git a/src/gui/kernel/qpointingdevice.cpp b/src/gui/kernel/qpointingdevice.cpp index f890fc1ca8..3857d454d8 100644 --- a/src/gui/kernel/qpointingdevice.cpp +++ b/src/gui/kernel/qpointingdevice.cpp @@ -564,7 +564,7 @@ bool QPointingDevicePrivate::addPassiveGrabber(const QPointerEvent *event, const bool QPointingDevicePrivate::setPassiveGrabberContext(QPointingDevicePrivate::EventPointData *epd, QObject *grabber, QObject *context) { - int i = epd->passiveGrabbers.indexOf(grabber); + qsizetype i = epd->passiveGrabbers.indexOf(grabber); if (i < 0) return false; if (epd->passiveGrabbersContext.size() <= i) @@ -581,7 +581,7 @@ bool QPointingDevicePrivate::removePassiveGrabber(const QPointerEvent *event, co qWarning() << "point is not in activePoints" << point; return false; } - int i = persistentPoint->passiveGrabbers.indexOf(grabber); + qsizetype i = persistentPoint->passiveGrabbers.indexOf(grabber); if (i >= 0) { if (Q_UNLIKELY(lcPointerGrab().isDebugEnabled())) { qCDebug(lcPointerGrab) << name << "point" << point.id() << point.state() @@ -644,7 +644,7 @@ void QPointingDevicePrivate::removeGrabber(QObject *grabber, bool cancel) cancel ? QPointingDevice::CancelGrabExclusive : QPointingDevice::UngrabExclusive, nullptr, epd.eventPoint); } - int pi = epd.passiveGrabbers.indexOf(grabber); + qsizetype pi = epd.passiveGrabbers.indexOf(grabber); if (pi >= 0) { qCDebug(lcPointerGrab) << name << "point" << epd.eventPoint.id() << epd.eventPoint.state() << ": removing passive grabber" << grabber; diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 81a4469a9e..e83ed33a36 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -431,14 +431,14 @@ void QWindowPrivate::updateSiblingPosition(SiblingPosition position) QObjectList &siblings = q->parent()->d_ptr->children; - const int siblingCount = siblings.size() - 1; + const qsizetype siblingCount = siblings.size() - 1; if (siblingCount == 0) return; - const int currentPosition = siblings.indexOf(q); + const qsizetype currentPosition = siblings.indexOf(q); Q_ASSERT(currentPosition >= 0); - const int targetPosition = position == PositionTop ? siblingCount : 0; + const qsizetype targetPosition = position == PositionTop ? siblingCount : 0; if (currentPosition == targetPosition) return; diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 714a859590..be2157c8b9 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -138,7 +138,7 @@ static bool handleWindowSystemEvent(Args ...args) return QWindowSystemHelper::template handleEvent(args...); } -int QWindowSystemInterfacePrivate::windowSystemEventsQueued() +qsizetype QWindowSystemInterfacePrivate::windowSystemEventsQueued() { return windowSystemEventQueue.count(); } @@ -791,7 +791,7 @@ void QWindowSystemInterface::handleScreenRemoved(QPlatformScreen *platformScreen void QWindowSystemInterface::handlePrimaryScreenChanged(QPlatformScreen *newPrimary) { QScreen *newPrimaryScreen = newPrimary->screen(); - int indexOfScreen = QGuiApplicationPrivate::screen_list.indexOf(newPrimaryScreen); + qsizetype indexOfScreen = QGuiApplicationPrivate::screen_list.indexOf(newPrimaryScreen); Q_ASSERT(indexOfScreen >= 0); if (indexOfScreen == 0) return; @@ -1058,7 +1058,7 @@ Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QWindowSystemInterface::TouchPo */ bool QWindowSystemInterface::flushWindowSystemEvents(QEventLoop::ProcessEventsFlags flags) { - const int count = QWindowSystemInterfacePrivate::windowSystemEventQueue.count(); + const qsizetype count = QWindowSystemInterfacePrivate::windowSystemEventQueue.count(); if (!count) return false; if (!QGuiApplication::instance()) { diff --git a/src/gui/kernel/qwindowsysteminterface_p.h b/src/gui/kernel/qwindowsysteminterface_p.h index 3569667325..b08abc0a95 100644 --- a/src/gui/kernel/qwindowsysteminterface_p.h +++ b/src/gui/kernel/qwindowsysteminterface_p.h @@ -473,7 +473,7 @@ public: } void append(WindowSystemEvent *e) { const QMutexLocker locker(&mutex); impl.append(e); } - int count() const + qsizetype count() const { const QMutexLocker locker(&mutex); return impl.size(); } WindowSystemEvent *peekAtFirstOfType(EventType t) const { @@ -500,7 +500,7 @@ public: static WindowSystemEventList windowSystemEventQueue; - static int windowSystemEventsQueued(); + static qsizetype windowSystemEventsQueued(); static bool nonUserInputEventsQueued(); static WindowSystemEvent *getWindowSystemEvent(); static WindowSystemEvent *getNonUserInputWindowSystemEvent(); diff --git a/src/gui/opengl/platform/egl/qeglconvenience.cpp b/src/gui/opengl/platform/egl/qeglconvenience.cpp index 5124e2e5dc..4af50d72f2 100644 --- a/src/gui/opengl/platform/egl/qeglconvenience.cpp +++ b/src/gui/opengl/platform/egl/qeglconvenience.cpp @@ -88,13 +88,12 @@ QList q_createConfigAttributesFromFormat(const QSurfaceFormat &format) bool q_reduceConfigAttributes(QList *configAttributes) { - int i = -1; // Reduce the complexity of a configuration request to ask for less // because the previous request did not result in success. Returns // true if the complexity was reduced, or false if no further // reductions in complexity are possible. - i = configAttributes->indexOf(EGL_SWAP_BEHAVIOR); + qsizetype i = configAttributes->indexOf(EGL_SWAP_BEHAVIOR); if (i >= 0) { configAttributes->remove(i,2); } @@ -258,7 +257,7 @@ EGLConfig QEglConfigChooser::chooseConfig() // Fetch all of the matching configurations and find the // first that matches the pixel format we wanted. - int i = configureAttributes.indexOf(EGL_RED_SIZE); + qsizetype i = configureAttributes.indexOf(EGL_RED_SIZE); m_confAttrRed = configureAttributes.at(i+1); i = configureAttributes.indexOf(EGL_GREEN_SIZE); m_confAttrGreen = configureAttributes.at(i+1); @@ -268,7 +267,8 @@ EGLConfig QEglConfigChooser::chooseConfig() m_confAttrAlpha = i == -1 ? 0 : configureAttributes.at(i+1); QList configs(matching); - eglChooseConfig(display(), configureAttributes.constData(), configs.data(), configs.size(), &matching); + eglChooseConfig(display(), configureAttributes.constData(), configs.data(), + EGLint(configs.size()), &matching); if (!cfg && matching > 0) cfg = configs.first(); diff --git a/src/gui/opengl/qopengl.cpp b/src/gui/opengl/qopengl.cpp index 7c997103d5..587975085a 100644 --- a/src/gui/opengl/qopengl.cpp +++ b/src/gui/opengl/qopengl.cpp @@ -385,7 +385,8 @@ static bool readGpuFeatures(const QOpenGLConfig::Gpu &gpu, QJsonParseError error; const QJsonDocument document = QJsonDocument::fromJson(jsonAsciiData, &error); if (document.isNull()) { - const int lineNumber = 1 + jsonAsciiData.left(error.offset).count('\n'); + const qsizetype lineNumber = + QByteArrayView(jsonAsciiData).left(error.offset).count('\n') + 1; QTextStream str(errorMessage); str << "Failed to parse data: \"" << error.errorString() << "\" at line " << lineNumber << " (offset: "