summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Emit QScreen::(availableG|g)eometryChanged() on logical DPI changeFriedemann Kleint2020-05-053-11/+25
| | | | | | | | | | | | | | | | When a change in logical DPI occurs due to the user changing the scaling factor, the screen size in device independent pixels may change due to High DPI choosing a different scale factor. Factor out the commonly used code into QScreenPrivate methods and use them from QGuiApplicationPrivate::processScreenLogicalDotsPerInchChange(). Pick-to: 5.15 Task-number: QTBUG-76902 Task-number: QTBUG-79248 Change-Id: I241a0f52d8236a65084d501fb4d8f9faeea89c0f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Remove use of std::not1 completelyThiago Macieira2020-05-051-11/+5
| | | | | | | | | | | libc++ that comes with XCode does not have the feature macros, resulting in warnings printed. Just invert the condition in the functor itself. lalr.cpp:316:84: warning: 'not1<Nullable>' is deprecated [-Wdeprecated-declarations] Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160bf8d79bc4b47e Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix Clang 10 warning about misleading indentationThiago Macieira2020-05-051-2/+2
| | | | | | | | qcombobox.cpp:3282:13: error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation] Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160b5a7310c0a0d0 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Fix Clang 10 warning about LLONG_MAX being inexact in doubleThiago Macieira2020-05-051-2/+3
| | | | | | | | | | | validator.cpp:707:19: error: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Werror,- Wimplicit-int-float-conversion] Task-number: QTBUG-83666 Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160b4a95a258423b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Fix Mesa warning that MESA_EGL_NO_X11_HEADERS is deprecatedThiago Macieira2020-05-051-0/+3
| | | | | | | | | The warning isn't printed when EGL_NO_X11 (the new macro) is defined. Fixes: QTBUG-80042 Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160b5d99f94c8c9b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-05-056-14/+78
|\
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-056-14/+78
| |\ | | | | | | | | | Change-Id: I003c0d6271c6444748bf30b4331eca3fb2410f44
| | * Doc: Enable snippet compilationPaul Wicking2020-05-051-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable compilation of snippets in network, widgets, and testlib. Task-number: QTBUG-74787 Task-number: QTBUG-81497 Done-with: Nico Vertriest <nico.vertriest@qt.io> Done-with: Kai Koehne <kai.koehne@qt.io> Change-Id: Ifdc7c06698bdee5fd423a145320f6cc0db63622b Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
| | * Compile fixes for clang10Lars Knoll2020-05-058-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | Fix some warnings that are flagged as errors on clang10. Change-Id: I906634c8b2bd94db42d74a7f3d10efb086e373cc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit bc726ed5d96161b70a22b9a11e0943acca219cfc)
| | * Android: fix mimeTypes handling for file dialogAssam Boudjelthia2020-05-052-6/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Android native file manager supports mimeTypes, I use QMimeDatabase to get the correct mime type for the nameFilter used with the file dialog. [ChangeLog][Android] Support setting mimetypes and and namefilters for Android native file dialog. Task-number: QTBUG-83089 Change-Id: I46545576dc9b51aa872bb37dbf4fe12b2533bdd9 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| | * Doc: Fix compilation of testlib snippets if sql, widgets are missingKai Koehne2020-05-051-0/+3
| | | | | | | | | | | | | | | Change-Id: Ibcc872408ba829085809737004d9d3186bd20bab Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Improve QTranslator documentation code snippetKai Koehne2020-05-052-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use :/i18n/, because this is the place where translations are stored by default if using qmake's CONFIG += lrelease embed_translations. Also revert change of app.exec() done in 16da0b2cf8b6b. First of all, both QGuiApplication and QApplication feature overloads of exec(), so using QCoreApplication::exec() might miss functionality. Anyhow, while it's true that all of them are static member functions, the vast majority of our examples and templates call them with class member access syntax, so let's try to be consistent. Finally, the example since a while uses QCoreApplication::translate, not tr(), so let's not mention it in the description. Change-Id: Ic6e5d91cf04d3f0d1a4296c5c09e790773e6fc62 Reviewed-by: Miłosz Kosobucki <milosz@kosobucki.pl> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Don't compile pcre2 if we will use the system libraryThiago Macieira2020-05-041-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I99ab0f318b1c43b89888fffd160b4923a06c4585 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Explicitly prevent out-of-bounds access to tabPositions arrayVolker Hilsheimer2020-05-052-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use DockCount enum value for the size of the array, and explicitly handle when toDockPos returns DockCount (which it might). Change-Id: Id52399607fb1ae74a24a050de7a8481264c03e47 Fixes: QTBUG-83983 Coverity-Id: 218539 Pick-to: 5.15 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Fix bug in QTextLayout::min/maxWidth for WrapAtWordBoundaryOrAnywhereJan Arve Sæther2020-05-051-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In that specific wrapping mode, it will first try a normal word wrap. If it doesn't fit within the specified line width it will discard the result of that and try WrapAnywhere by calling layout_helper() recursively. The problem was that at the point it called itself again it had already adjusted eng->maxWidth: eng->maxWidth += line.textWidth; This was not restored, but carried on to the recursive call to layout_helper(), so the end result was that the maximumWidth would accumulate text widths from parts of the same line twice. Due to the same recursive behavior the minimumWidth also had a problem: It always returned the width of the widest word because it took the qMax() of the minimum widths of the two passes, (WordWrap and then WrapAnywhere) effectively making the minimum width always be the width of the widest word (even though it could wrap at finer granularity). Pick-to: 5.15 Task-number: QTBUG-77337 Change-Id: Ie7e9c17b157506352c2da38cc7f4a8dfa1283966 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Remove spurous initializer for QByteArrayEdward Welbourne2020-05-051-1/+1
| | | | | | | | | | | | | | | Change-Id: Ie0d1a068394283c724ab4f4aa0b5fc8ce06b1b08 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | QUrlIdna: simplify a loop using QStringView::mid()Marc Mutz2020-05-051-6/+4
| | | | | | | | | | | | | | | | | | Change-Id: I0f33a29b3104ceac4c5dfb9db2bfdcd896bb95d1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | QMimeDatabase: remove unused QSet includeMarc Mutz2020-05-051-1/+0
| | | | | | | | | | | | | | | Change-Id: Id69ef8f09baf276cc0de8d8b9534cd370608531b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | Port two more local QSets to QDuplicateTrackersMarc Mutz2020-05-052-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: Ia9e837ebba88aeb1916da041fc8460a0692a03e4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QDuplicateTracker: add rvalue overloadMarc Mutz2020-05-051-0/+12
| | | | | | | | | | | | | | | | | | | | | We have at least one user that only ever passes rvalues. Change-Id: I3f190b8d074e40a23c52e791635c9a1c45ba00ab Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QChar: make std::hash'ableMarc Mutz2020-05-051-0/+15
| | | | | | | | | | | | | | | Change-Id: I2164df19cd17ab96a39020de66a3fe9fec838a36 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | QStandardItemModel: port a local QSet to QDuplicateTrackerMarc Mutz2020-05-051-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: I59242287debfd1e41c663aa2b88d0d3ea44f43fb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Compile QRegularExpression into qmakeLars Knoll2020-05-052-4/+8
|/ / | | | | | | | | | | | | | | This is required to be able to port qmake over to use QRegularExpression instead of QRegExp. Change-Id: I0ad2c19bf3c0a28e52c1e12b4d3daa0300a75ed2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | uic: Generate string-based connections for custom slotsFriedemann Kleint2020-05-052-12/+23
| | | | | | | | | | | | | | | | | | | | | | Qt Designer let's you add custom slots and signals to the main form; they should use string-based connection syntax since the class is not known in setupUI(). Amends da3cb1deb6c752f8e4c05434e3451432e5d787ba. Task-number: QTBUG-76375 Change-Id: I5a3a5630f77c812d48db1cdb7a8658a4d2718228 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | QGridLayoutEngine: port to QHVContainerMarc Mutz2020-05-052-82/+84
| | | | | | | | | | | | Change-Id: Iadb069ecdf67d72fa1b3be9198e90eeda8e98d54 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Long live QHVContainer!Marc Mutz2020-05-053-30/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various places in Qt use arrays indexed by some function of Qt::Orientation input. None document their dependence on the numerical values of the Qt::Orientation enum, some waste space, none is type-safe. QHVContainer is a private container of two values, one for Qt::Horizontal and one for Qt::Vertical. Its salient API is the indexing operator, taking Qt::Orientation, thus making the class type-safe. Use it to port QGridLayoutItem and QAbstractScrollAreaPrivate. Change-Id: I0d9f17431a5eb141bfb0763c83155710bb82a537 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Fix crash in QEglFSKmsGbmCursor::setPos() when cursor is disabledShawn Rutledge2020-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | This happens when there are two screens (configured in the json file), QT_QPA_EGLFS_HIDECURSOR is set, and the mouse moves to the secondary screen: m_bo is null. Pick-to: 5.15 Change-Id: I5cef9835e7c9a6a39264bf9a028bf1feeabc6995 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Purge from Q(Date|Time)+ most things marked to go at Qt 6Edward Welbourne2020-05-052-492/+1
| | | | | | | | | | | | Change-Id: Ib3f48c74132b47649dc7b4cbacf2cefed5a57687 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QGraphicsGridLayout: simplify a loop over Qt::Orientation valuesMarc Mutz2020-05-051-3/+1
| | | | | | | | | | | | | | | | Instead of selecting a Qt::Orientation value based on the integer loop variable, just loop over the possible Qt::Orientation values directly. Change-Id: I25b6f0d49c9b5a7e16e974dcc37668f801e65224 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Add virtual QWindow::closeEvent handlerVolker Hilsheimer2020-05-052-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default implementation does nothing; the processing of accepted close events remains in the QWidget::event handler, so that subclasses don't have to call the super class in order to free window system resources and emit lastWindowClosed signals. QWidgetWindow::event is reimplemented to handle QEvent::Close as well, calling QWidgetPrivate::close_helper, which then delivers a separate QCloseEvent to the widget. The order of execution for widgets is after this change: 1) QWidgetWindow::event 2) QWidgetWindow::handleCloseEvent (calls QWidget::event/closeEvent) 3) QWindow::event 4) QWindow::closeEvent <- does nothing, not overridden 5) default cleanup handling in QWindow::event and for Qt Quick after the corresponding change in qtdeclarative: 1) QQuickWindow::event 2) QWindow::event 3) QQuickWindow::closeEvent <- emits closed 4) default cleanup handling in QWindow::event [ChangeLog][QtGui][QWindow] closeEvent has been added as a virtual function. Task-number: QTBUG-31019 Change-Id: I201f5ee9c6a73b949986648e3bd288d2c7898f28 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QPlatformTheme: Use operator| instead of operator+ to define a shortcutGiuseppe D'Angelo2020-05-051-1/+1
| | | | | | | | | | | | | | Follow the surrounding code. Change-Id: I2d4789162ea91328dfa00ac9b4c2fc6a8e6ed261 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QCoreApplication: force the process locale codec to UTF-8Thiago Macieira2020-05-051-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in the mailing list and in the Qt Contributor Summit 2019. Tested on Linux, macOS and FreeBSD, showing these fallbacks: OS environment setlocale() call FreeBSD empty "C.UTF-8" FreeBSD LC_ALL=C "C.UTF-8" Linux empty "C.UTF-8" Linux LC_ALL=C "C.UTF-8" Linux LANG=en_US "en_US.UTF-8" Linux LANG=de_DE@euro "de_DE.UTF-8" Linux LANG=en_GB.iso885915 "en_GB.UTF-8" Linux LANG=hy_AM.armscii8 "hy_AM.UTF-8" Linux LANG=ja_JP.sjis "ja_JP.UTF-8" Linux LANG=ru_RU.koi8r "ru_RU.UTF-8" macOS empty "UTF-8" macOS LC_ALL=C "UTF-8" Versions tested: FreeBSD 12.1, Linux w/ glibc 2.30, macOS 10.14.2. See * https://wiki.qt.io/Qt_Contributor_Summit_2019_-_QtCore * https://lists.qt-project.org/pipermail/development/2019-October/037791.html Change-Id: Ia2aa807ffa8a4c798425fffd15d97ddb4f35b0ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Hotfix for int->qsizetype fallout in QShaderLaszlo Agocs2020-05-052-16/+16
| | | | | | | | | | | | | | | | The proper solution is to use qint32 everywhere, but that is left as a separate exercise. Change-Id: Id0c06b102b56a1b3b48dd67c6c29c28da7d1f22d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | QItemSelectionModel: port a local QSet to QDuplicateTrackerMarc Mutz2020-05-051-8/+7
| | | | | | | | | | | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: I5d7d32c52ad19d37c0e1191e822304349944d7e6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QResource: port a local QSet to QDuplicateTrackerMarc Mutz2020-05-051-7/+5
| | | | | | | | | | | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: If059f2ac66967168fe269cd62aaee9cfeb10f17e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QItemSelectionModel: replace a QPair with a dedicated structMarc Mutz2020-05-051-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Pairs are easy to use, but they have no semantics attached: Two QPair<int, int> compare equal, e.g., even though one is used as a coordinate and the other as, say, a fraction. It also carries no information for the reader of the code, as exemplified by the urge to comment on the content of the pairs in both functions that use them. So, write a minimal struct with equality and qHash() instead. The comments are now no longer needed. Change-Id: I51f6ff049a5f8fa61c51856376ac2fcbfb8dd506 Reviewed-by: David Faure <david.faure@kdab.com>
* | QKeySequence: remove docs of methods recently removedGiuseppe D'Angelo2020-05-051-19/+0
| | | | | | | | | | | | | | | | Amends dccf28b7c344822b7459635099ebe3abdf5fd107. Change-Id: Ic4eeda8706b58fdff716e8f86a2bf7cc77ec0c7a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QAbstractScollArea: Cast an enumerator to int before doing math on itGiuseppe D'Angelo2020-05-051-1/+1
| | | | | | | | | | Change-Id: I78288c7d104a33936b6f1f3f7bff9a076845cfc8 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QFileDialog: fix enumeration mismatchGiuseppe D'Angelo2020-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | To define a shortcut a Qt::ArrowType enum value was getting mixed with a keyboard modifier. An actual mistake spotted by blocking mixed-enum operations! Change-Id: I4df56ee411599937c243288e8518b5c1df446397 Pick-To: 5.15 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QHashFunctions: port to if constexprGiuseppe D'Angelo2020-05-051-1/+1
| | | | | | | | | | | | | | | | Condition is a compile-time one. Change-Id: I6e60f12cc51e96b2528c375017357c0631e2fc0b Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-05-0440-195/+501
|\ \
| * | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-0440-195/+501
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/text/qlocale.cpp src/network/access/qnetworkaccessmanager.cpp Regenerated tests/auto/testlib/selftests/float/CMakeLists.txt Change-Id: I5a8ae42511380ca49a38b13c6fa8a3c5df8bed01
| | * QCommandLineParser: Wrap very long option names to leave room for descriptionsDavid Faure2020-05-011-10/+19
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-79926 Change-Id: I3302e0ed5b58949a35ccb001c71b22a6400a6c81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Doc: Make snippets Qt Widgets compilableNico Vertriest2020-05-019-65/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed mainwindowsnippet.cpp and widgetdelegate.cpp from snippets.pro Task-number: QTBUG-81497 Change-Id: I40d1f34e64d958d2fb857dc8e468b9c40fff527c Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.15.0' into 5.15"Qt Forward Merge Bot2020-04-303-14/+34
| | |\
| | | * Merge remote-tracking branch 'origin/5.15.0' into 5.15Qt Forward Merge Bot2020-04-303-14/+34
| | | |\ | | | | | | | | | | | | | | | Change-Id: I1b46a9485d86f4d8ea104df31366fb6ad16a4654
| | | | * QCborValue: check parsing of invalid URLThiago Macieira2020-04-301-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QUrl will reject invalid URLs for us, so we don't get normalization. The original junk should be retrievable, of course. Change-Id: Ibdc95e9af7bd456a94ecfffd160610f5b2c8e1a2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * QCborValue: add an extra check against producing invalid ISO datesThiago Macieira2020-04-301-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By QCborValue design, we store the textual representation in ISO format, equivalent of CBOR tag 0, which isn't allowed to have negative years or beyond year 10000. Change-Id: Ibdc95e9af7bd456a94ecfffd16060ccff359c296 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | | | * QCborValue: avoid signed integer oveflows when decoding time_tThiago Macieira2020-04-301-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDateTime::fromSecsSinceEpoch() multiplies by 1000 but does not check for overflow. That means we must do so in QCborValue validation. We can't use mul_overflow<qint64> on 32-bit platforms, so we do a compare- and-branch there. For 64-bit platforms, we prefer to do the multiplication with checked overflow, as the common case is that it will not overflow and we'll need the multiplication anyway. Change-Id: Ibdc95e9af7bd456a94ecfffd16060cba6f1c86b8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Don't output a warning that can trigger before Qt has fully initializedAndy Shaw2020-04-301-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a warning is outputted before Qt has had a chance to initialize the logging rules then it will cause it to hang as it will be stuck trying to initialize but can't continue because it needs to output the warning which triggered during that initialization. Therefore the warning should not be outputted to avoid this from happening. Change-Id: I202752c377bf69def2f7fb76be71b78d00ad3fd5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>