summaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Replace QtTest headers with QTestDavid Skoland2020-12-22577-645/+1029
| | | | | | | | | | | Complete search and replace of QtTest and QtTest/QtTest with QTest, as QtTest includes the whole module. Replace all such instances with correct header includes. See Jira task for more discussion. Fixes: QTBUG-88831 Change-Id: I981cfae18a1cabcabcabee376016b086d9d01f44 Pick-to: 6.0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_qimagereader.cpp: Fix MSVC int conversions warningsFriedemann Kleint2020-12-211-3/+3
| | | | | Change-Id: I1b002ffde60dea9c54a8c41985ed295c05c45858 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QCheckBox: cleanup autotestChristian Ehrlicher2020-12-211-178/+116
| | | | | | | | Avoid possible memory leaks by creating the checkbox on the stack, adopt coding style. Change-Id: I25f8b9048c8318d2897fd942492254a036c3a706 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix crash on reallocateAndGrowMichal Klocek2020-12-211-0/+57
| | | | | | | | | | | | | | | | | | After 6be398 few tests fail/crash with qtcharts. Fix issue on reallocateAndGraw and avoid accessing flags on invalid header. Data::allocate can return invalid header and dataptr, which takes place if capacity is 0. In code before 6be398 clone method checks if header is not null before resetting flags. However after b76fbb4 resetting flags is no longer needed since it is done in allocateGrow. Task-number: QTBUG-89092 Pick-to: 6.0 Change-Id: I2fde781dad7a0694a5f17ab716f647c2e35f4ff0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Blacklist tst_QDeadlineTimer::stdchrono on Windows/clangFriedemann Kleint2020-12-211-0/+2
| | | | | | | | It has been failing consistently, recently. Pick-to: 6.0 Change-Id: I71b2e8857c3d5ce86ad17864c95aac7265ed9a8a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Check size of QObjectPrivate::ExtraData in tst_toolsupport.cpphjk2020-12-181-0/+6
| | | | | Change-Id: I96a5ec886fe862e0ee5d25120dda625478ecf420 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QProperty add markdirtyFabian Kosmale2020-12-181-0/+77
| | | | | | | | | | | This adds functionality for marking properties (QProperty and related classes) manually as dirty. This facilliates the integration of bindable properties with non-binable properties and makes it possible for bindable properties to change due to external events. Fixes: QTBUG-89167 Change-Id: I256cf154d914149dacb6cadaba92b13c88c9d027 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Revert "Fix network tests on qemu/arm"Samuli Piippo2020-12-183-8/+0
| | | | | | | | SIOCGIFNAME is now supported on QEMU. This reverts commit 42b3ed763f989da94a776fd39f9726d2effc5cb1. Change-Id: I79caa371dc798464ab76851d2ea3189ec9eb0c57 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSocketNotifier: hone setSocket() APIAlex Trotsenko2020-12-171-5/+5
| | | | | | | | Remove a second argument to the setSocket(qintptr, bool) function as it makes the API harder to understand. Change-Id: Ib1852a4e9d96adde35bfbf0fe03b386d9ded395a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* qRound: do not expect failure on ARM64Samuli Piippo2020-12-171-0/+8
| | | | | | | | | | Amend aa136d46e100e65f0d9326ac9319de95673cd6d7 that changed qRound() implementation to use __builtin_round() functions on ARM64 which do not fail "round largest representable float less than 0.5" test, unlike the simple version of qRound() used elsewhere. Change-Id: Ic66cb0f826d91cd6a85ad72b646c79ded1c0eeca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean-up warnings in corelib/thread testsSona Kurazyan2020-12-1716-122/+122
| | | | | | | | | | | | | | Fixed the following warnings: - empty expression statement has no effect; remove unnecessary ';' to silence this warning - zero as null pointer constant - no previous extern declaration for non-static variable - use of old-style cast - integer conversion warnings Change-Id: Ieb31b127ce8e3b543aaf88a8e8fc463dcc8bc4e3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Tests: Fix building with qmake on WindowsFriedemann Kleint2020-12-1724-27/+24
| | | | | | | | Apparently some library definitions went overboard, link them directly. Pick-to: 6.0 Change-Id: I009737f7e3edff5619241b700a627dc4e25e6018 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Bindable property with initializationIvan Solovev2020-12-171-0/+64
| | | | | | | | | | Implement Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS and Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS macros. They allow to directly initialize the property member. Task-number: QTBUG-85520 Change-Id: I76541d6785bbbf27976b9f0b865fb45be1e9beee Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Blacklist tst_QMdiArea::updateScrollBars on macosIvan Solovev2020-12-171-0/+3
| | | | | | | | Pick-to: 6.0 Task-number: QTBUG-41343 Change-Id: I782ded140932ab3af52ee5ca9b743fd2a3cdb473 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QCache: fix updating entries breaking the internal chainMårten Nordheim2020-12-161-0/+17
| | | | | | | | | | | | | | After f08492c6fd9818c7d80b1725355453e179b4d85b was merged this bug would manifest as an entry appearing twice in the chain when a updating an existing entry (insert with an existing key). This could sometimes result in crashes later as the list filled up and the list was used in trim() to remove various entries. Fixes: QTBUG-89176 Pick-to: 6.0 Change-Id: Ide80160fb4317dc0aefe79eec5dce7ec6813e790 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Restore previous QDateTime behavior in DST gapAndreas Buhr2020-12-153-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | Historic QDateTime behavior when being asked to create a QDateTime in the DST gap was to interpret the given date as if it was in the time before that gap, mapping it to a point in time after the gap. This has changed with a04411119ead3d4473e4f0ac4bceedc585977b2f . Since then, the given date is interpreted as if it was in the time after the gap, thus being mapped to a point in time before the gap. This patch restores the historic behavior. This was not caught by Coin because machines ran in timezone "Atlantic/Reykjavik" which does not have DST since 1967. This patch changes tests to always run in "Europe/Oslo". Driveby: Test function "findSpring" did some operations in local time, even though being asked to work in a specific time zone. Fixed that. Fixes: QTBUG-86960 Fixes: QTBUG-89208 Pick-to: 6.0 5.15 Change-Id: Iecce5898bf9711a10e7dfc0a25e4bbeaed1c8ade Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSocketNotifier: extend API to provide more flexible startupAlex Trotsenko2020-12-111-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | Technically, having a single constructor limits the use-cases for this class. We should take into account that: - an opened socket descriptor must be available at the moment of construction; - the constructor unconditionally enables the notifier (the possible solution notifier = new QSocketNotifier(...); notifier->setEnabled(false); is suboptimal due to heavy operations inside the event dispatcher); - for these reasons, QSocketNotifier most often cannot be a member of another class (we have an extra allocation and indirect access). This patch addresses this shortcoming by making it possible to set the socket descriptor at a later point: [ChangeLog][QtCore][QSocketNotifier] Added setSocket() and an additional constructor which requires no socket. Change-Id: I2eb2edf33ddafe99e528aac7d3774ade40795e7a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Add support of invoking QFuture continuations in a given contextSona Kurazyan2020-12-111-0/+80
| | | | | | | | | | | | Added overloads of .then()/.onFailed()/.onCanceled() which take a pointer of a context object, and invoke the continuations in the object's thread. Task-number: QTBUG-86794 Change-Id: I0f3cbb0500695673fc4087af5d4b96b416e3e1ce Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* QTableView: honor spans when calculating height/width hintChristian Ehrlicher2020-12-101-0/+65
| | | | | | | | | | QTableViewPrivate::heightHintForIndex()/widthHintForIndex() did not honor spans and therefore returned too big values. Fixes: QTBUG-89116 Change-Id: I52948902b7eaaa27c092ed39da68950c3840e8e4 Pick-to: 5.15 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* tst_QFile: add a couple more sequential Unix device filesThiago Macieira2020-12-101-1/+10
| | | | | | | | | | | | | /dev/zero and /dev/null are expected to always be present in any system (even containers). Unlike /dev/null, you *can* read from /dev/zero so test that QIODevice doesn't think it is random-access because of that. /dev/tty is also always present but has an interesting semantic. Could also try /dev/full, /dev/random and /dev/urandom. Change-Id: Ia2aa807ffa8a4c798425fffd15d84b60573f2c26 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* CMake: Regenerate projects using pro2cmake one last timeAlexandru Croitor2020-12-1027-55/+185
| | | | | | | | | And fix up some wrong qmake project files Pick-to: 6.0 Change-Id: I66cb82aeb9c1419a74df1a650fa78a511ade7443 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add colorspace transfer functions based on tables of inputsAllan Sandfeld Jensen2020-12-101-0/+29
| | | | | | | | This is the most basic way to represent custom transfer functions. Change-Id: I529fb647ece82c03e85ef77b056d9daf13fe5a61 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* tests: blacklist tst_NetworkSelfTest::smbServer() on openSUSELiang Qi2020-12-101-1/+2
| | | | | | Task-number: QTBUG-89209 Change-Id: I8d7d9bbf30a8f0654bc9aa84f7833c950e838b34 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* QStringView: add some QRegularExpression-related overloadsGiuseppe D'Angelo2020-12-101-0/+207
| | | | | | | | | [ChangeLog][QtCore][QStringView] Added the indexOf(), contains(), lastIndexOf() and count() methods taking a QRegularExpression. Fixes: QTBUG-89050 Change-Id: Ic726754f67e06b3764302d2fad252e0378a77afc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString::lastIndexOf: fix off-by-one for zero length matchesGiuseppe D'Angelo2020-12-101-1/+1
| | | | | | | | | | | Otherwise, it would report that lastIndexOf of an empty pattern in an empty string doesn't exist. Next commit adds extensive autotests; for now, disable a broken autotest (which already features a comment about why it's broken). Change-Id: I9a0e5c0142007f81f5cf93e356c8bd82f00066f7 Pick-to: 5.15 6.0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: fix parsing of empty IPv6 addressesThiago Macieira2020-12-091-0/+2
| | | | | | | | There's an assertion. Found by Google fuzz scan of CBOR data. Pick-to: 6.0 5.15 Change-Id: I55083c2909f64a1f8868fffd164f1ff3af71605b Reviewed-by: David Faure <david.faure@kdab.com>
* QDeadlineTimer: optimize when std::chrono::steady_clock is the sameThiago Macieira2020-12-091-0/+12
| | | | | | Change-Id: Ib57b52598e2f452985e9fffd14583173716343b0 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString: fix count(QRegularExpression)Giuseppe D'Angelo2020-12-091-0/+1
| | | | | | | | | | | | | | | | | There is an off by one in the implementation of count(): a match must be attempted even at the very end of the string, because a 0-length match can happen there. While at it, improve the documentation on the counter-intuitive behavior of count(), which doesn't merely count how many times a regexp matches into a string using ordinary global matching. [ChangeLog][QtCore][QString] Fixed a corner case when using QString::count(QRegularExpression), causing an empty in the last position not to be accounted for in the returned result. Change-Id: I064497839a96979abfbac2d0a96546ce160bbc46 Pick-to: 5.15 6.0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Modify test_QFINDTESTDATA to not leave files in source treeAndreas Buhr2020-12-091-6/+9
| | | | | | | | | | | | | | | test_QFINDTESTDATA is a test which is built and run in the source tree. It tests usage of relative paths of the Ninja generator, which only occurs when building in the source tree, so this test cannot be done outside of the source tree. Developer's expectation is, however, that an out-of-source build does not change the source tree. Having "git status" showing differences after running the tests is irritating. This patch removes the in-source build files after executing the test. Change-Id: Ia9fd368c9d54b97a415b63254b45e17bc95ecf45 Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* tests: blacklist two functions in tst_QDateTimeEdit on openSUSELiang Qi2020-12-091-0/+4
| | | | | | Task-number: QTBUG-89208 Change-Id: I0c0c14e3522a0c504241e178a058687ecfedf55d Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* QProperty: Handle eager binding calling setBindingFabian Kosmale2020-12-091-5/+16
| | | | | | | | | | | | | | | | | When an eager binding triggers a setBinding call, we end up with a special kind of binding loop: setBinding() -> evaluate -> notifyObserver ^ | | / ---------------------------- We now catch set condition, and set the binding status to BindingLoop (with a distinct description). Task-number: QTBUG-87153 Task-number: QTBUG-87733 Pick-to: 6.0 Change-Id: I9f9915797d82eab820fc279baceaf89d7e5a3f4a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix tst_qlineedit for offscreen rendering and tiling window managersAndreas Buhr2020-12-081-3/+8
| | | | | | | | | | | | | | | | | | tst_QLineEdit::QTBUG13520_textNotVisible checks that text is visible if a QLineEdit is set to Qt::AlignRight. To do that, it writes some text into a line edit and checks afterwards that the first character is in the left half of the window. This fails if the window is larger than twice the length of the text used and thus might fail in multiple situations where Qt is not in full control over the size of the windows created, as is the case with tiling window managers. This patch changes the test to not check for the first character in the left half of the window, but instead check for the first character be approximately at the expected position. Pick-to: 6.0 Change-Id: I18f6de356ea20f4744f3a58cd2b1d76f6a9545a4 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* tests: blacklist tst_QGlyphRun::drawRightToLeft() on openSUSELiang Qi2020-12-081-0/+2
| | | | | | Task-number: QTBUG-89169 Change-Id: I4dfd608e264c9503093cc9fe27e80c489efe7aaf Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* QCborValue & QCborStreamReader tests: fix warning about %llx on 32-bitThiago Macieira2020-12-071-6/+6
| | | | | | | | | | | | | | | | | cborlargedatavalidation.cpp:93:60: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘qsizetype’ {aka ‘int’} [-Wformat=] 93 | QTest::addRow("bytearray-too-big-for-qbytearray-%llx", v) | ~~~^ ~ | | | | | qsizetype {aka int} | long long unsigned int | %x The cast to size_t is required to make the 64-bit not complain due to the long vs long long difference. Pick-to: 5.15 6.0 Change-Id: I00b01c01a66748508ea1fffd164a9add2a2650cf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* tst_QCborValue: adjust the size of the minimum string that won't fitThiago Macieira2020-12-071-1/+3
| | | | | | | | | I don't know which of the previous commits caused this: as far as I can tell, this test should never have passed. Pick-to: 5.15 6.0 Change-Id: I55083c2909f64a1f8868fffd164e7e8c24eec1f8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCborStreamReader::next: don't allocate too much memory in a QBAThiago Macieira2020-12-072-12/+19
| | | | | | | | | | | | | | | | | | | | Because CBOR strings are encoded in UTF-8, it's possible that the string that won't fit a QString in UTF-16 would still fit QByteArray in UTF-8 (e.g., anything US-ASCII and most Latin text). The previous solution was an improvement because we used to read into a QByteArray then convert the QByteArray to QString, thus using 3x the amount of memory (1x in QByteArray, 2x in QString). The previous commit skipped the middle allocation and made the regular readString() function do the decoding either directly on source memory or by reading in small chunks (16 kB). Future improvement for Qt 6.1: add readStringChunk(char16_t *, qsizetype) so we can do the validation / skipping at O(1) memory. Pick-to: 5.15 6.0 Change-Id: I7b9b97ae9b32412abdc6fffd1645458c655cc566 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add SameSite API to QNetworkCookieAllan Sandfeld Jensen2020-12-071-0/+13
| | | | | Change-Id: I3f8b25418154f74bb55fa978b03465f75771d015 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* tst_qnetworkreply: unblacklist putWithServerClosingConnectionImmediatelyMårten Nordheim2020-12-072-4/+3
| | | | | | | | | | | | Looking at grafana it rarely fails in dev so unblacklisting it. Though it is a little more flaky after switching to http 2 by default because then we only have one channel and more requests end up queued in the same channel, which will get errored out when the server disconnects. Task-number: QTBUG-88943 Change-Id: If5d6335864ce6bbc35f519b2c6d7068e4181afd2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* tst_qnetworkreply: unblacklist various testsMårten Nordheim2020-12-071-18/+0
| | | | | | | | | | | | | | | | | | | headFromHttp hasn't been flaky since 5.14 times according to grafana, does not fail locally. Same situation with ioHttpRedirect as above. ioHttpRedirectMultipartPost has not failed on Windows since october 2019, assumed stable now. backgroundRequestInterruption no longer exists. ioPostToHttpFromSocket would fail in debug MSVC builds but was fixed in 710886fbdd993c3a618ea8bc8b59fbb3e18cfbf0. Task-number: QTBUG-88943 Change-Id: Ida640179ef15a3452291745e4e94a71a385f57ae Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Make the signal argument in Q_OBJECT_BINDABLE_PROPERTY optionalLars Knoll2020-12-071-6/+2
| | | | | | | | | | | The intention was always that you can define properties that do not require a changed signal. But having to explicitly pass a nullptr as signal parameter into the macro is ugly, so use the cool QT_OVERLOADED_MACRO to make it optional. Pick-to: 6.0 Change-Id: I0ce366d043850f983c968d73c544d89933c48df9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* uic/rcc: Use QT_VERSION_MAJOR for major versionFriedemann Kleint2020-12-071-2/+4
| | | | | | | | Amends 539a16a69fa1ef302cf4eb97ff5a7f8afb606d15. Task-number: QTBUG-89124 Change-Id: I68c9ab2179d464d83c3fd9eefc5609b7a5a58e27 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QCborValue: avoid allocating result if data is insufficientThiago Macieira2020-12-062-10/+11
| | | | | | | | | | | Similar to the previous commit which applied to QCborStreamReader, don't allocate too much data before checking that the stream actually has that much. Pick-to: 5.15 6.0 Fixes: QTBUG-88256 Change-Id: I7b9b97ae9b32412abdc6fffd16454b7568a063ba Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QCborStreamReader: avoid allocating result if data is insufficientThiago Macieira2020-12-063-8/+13
| | | | | | | | | | | | | | | | | | | | | | | By calling the internal readStringChunk() function with a QByteArray pointer, QCborStreamReader::readByteArray() can now avoid allocating the resulting buffer until the internals have confirmed that there is sufficient data in the incoming buffer. As a result, we first detect the EOF condition before we conclude the payload would have been too big for QByteArray (validation()) test. Meanwhile, the hugeDeviceValidation() test ends up with a few conditions where it would have copied 1 GB of data, so limit that too. We make a choice of reporting OOM vs DataTooLarge only if QByteArray fails to allocate in the first place (QByteArray::resize() -> Q_CHECK_PTR -> qBadAlloc, QtCore is always built with exceptions on). The QCborValue unit test needed a temporary work around until we apply the same allocation fix (see next commit). Pick-to: 5.15 6.0 Fixes: QTBUG-88253 Change-Id: I7b9b97ae9b32412abdc6fffd164523eeae49cdfe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix uic/rcc generating outdated export for Qt for PythonFriedemann Kleint2020-12-044-8/+8
| | | | | | | | | | Bump version to 6. Fixes: QTBUG-89124 Change-Id: Ifcf60552b5b6efb86f79da34da9c34b8efae9fa4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit fc9cda5f08ac848e88f63dd4a07c08b2fbc6bf17) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtConcurrent: filter/map reduction without default ctorIvan Solovev2020-12-042-0/+78
| | | | | | | | | | | | | | | | | Previously a default constructor was required for the result type of mappedReduced() and filteredReduced(), even if a default value was provided. This patch fixes the problem. The issue was in the ResultReporter type, that was calling QList::resize() to adjust the size of expected reported results. A default-value parameter was added to the class, so that a corresponding overload of QList::resize could be invoked. Task-number: QTBUG-88452 Change-Id: I51113753e314d76aa74d201b5a7e327a6ca75f47 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Fix QImage::setPixelColor on RGBA64_PremultipliedAllan Sandfeld Jensen2020-12-041-0/+8
| | | | | | | | QColors were not premultiplied before being set. Pick-to: 6.0 5.15 5.12 Change-Id: Id3765b6932a72374ddfd788fae4bb628a4edf0b7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* tst_qmakelib: link to QtCore's private APIGiuseppe D'Angelo2020-12-041-0/+2
| | | | | | | | Just like it was done in the .pro file. Pick-to: 6.0 Change-Id: I7def52127f4bab6f0ef490ac7eee2de2da479352 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QBindable: Disallow mutation if read-onlyFabian Kosmale2020-12-041-0/+5
| | | | | | | | | | | | If a QBindable is created from a computed property, it is not possible to actually set a value or a binding. If we try to do it anyway, we'd get a crash. Thus we now check whether the function pointer is null before invoking it. Pick-to: 6.0 Task-number: QTBUG-87153 Change-Id: I5bedb9080ccf79d9b8166b80d5733d095ed76f8d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix hashing of QPersistentModelIndexLars Knoll2020-12-041-0/+34
| | | | | | | | | | | | | The hash and equality operators used need to be consistent with each other. Unfortunately, QPMI::operator==() is not suitable to do this. So specialize qHashEquals() for QPMI. Fixes: QTBUG-88966 Change-Id: If5f19a722ae9fc4e78e93537e7ea15726f148768 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 83e95956ed58e88b11e2cc3cb61c5beacb7985db) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix compiler warning from discarded return valueVolker Hilsheimer2020-12-041-1/+1
| | | | | | | | Amend 53b7cb1bd73c773521f85c48ecd0c9daed14f7b3, match() is only used to provoke data races. Change-Id: Id20b11fedf7f20e74baab15bbb60c995c1a0c794 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>