summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't include qeventpoint_p.h from qevent_p.hMarc Mutz2022-01-143-0/+4
| | | | | | | | | | | The header no longer uses QMutableEventPoint. Fix TUs that relied on the transitive include. Task-number: QTBUG-99615 Pick-to: 6.3 Change-Id: Iae4ff34ea708304fcd365fd763875dd4a97a1cf8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Stabilize tst_QTouchEvent::multiPointRawEventTranslationOnTouchPadVolker Hilsheimer2022-01-142-8/+15
| | | | | | | | | | | | | | | The test is impacted by the position of the mouse cursor, and fails if the mouse enters the test window when it gets shown. Try to move the cursor away from the window. As a drive-by, const'ify some of the local variables. Revert 7b4b5115ddb2d492c476942090a3fa7992e9fa7d by removing the blacklisting of the test on macOS in CI. Pick-to: 6.3 6.2 Change-Id: Ia0c554fdf161fd4eb4aa3965e937c7db8ceeef8f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add QProgressBar test in tst_baseline_widgetsAxel Spoerl2022-01-141-0/+39
| | | | | | | Task-number: QTBUG-99678 Pick-to: 6.3 Change-Id: Ib56f7bdcc1e61d0354a7a381b8089f35e80b931c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Improve QShortcut testVolker Hilsheimer2022-01-131-7/+14
| | | | | | | | | | | | | | | | The test uses a static MainWindow so that we can execute a series of key simulations on the same window. The window is then destroyed when we reach the final test row. If some of the tests fail, then the window is left in an unknown state, resulting in cascading failures for the other tests. Fix this by always trying to show and activate the window, and always destroying the static window if we have reached the last test data row. Fixes: QTBUG-99630 Pick-to: 6.2 6.3 Change-Id: I466669f387e8b199e9e719a7ebbe3ae670658b7e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix an assertion failure in massageAdjustedDateTime()Edward Welbourne2022-01-131-0/+12
| | | | | | | | | | | | | | The QDateTimeData &d it's passed is a copy that's about to be modified; before we do so, we haven't detached so its internals have a ref-count of two, contradicting an assertion in the non-const Data::operator->(); so just directly access d.d->m_timezone, since we know that spec == TimeZone implies !isShort(). Added test that triggered the assertion and now doesn't. Fixes: QTBUG-99668 Pick-to: 6.3 6.2 6.2.3 5.15 Change-Id: I07321ad91be5adce524be18e4ab82eee7110dc6a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* tst_QImageWriter: skip writing unsupported image formatsJanne Juntunen2022-01-131-0/+2
| | | | | | | | | | | Do not try to test writing of image formats which are not supported on the platform under testing. This test was failing for .ico files on webOS. Fixes: QTQAINFRA-4722 Pick-to: 6.3 Change-Id: Ic7d40d9751e0f921d9721c01492cca28d798e141 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Make counts of various types of test result add up correctlyEdward Welbourne2022-01-1328-82/+593
| | | | | | | | | | | | | | | | | | | | | | | | | Added tests for repeated skips and failures (from within void lambdas, to simulate skips and failures from within event handlers). These exhibit yet more ways to count more than one outcome for a test. The new QTest::failOnWarning() can also provoke more than one failure from a single test, and several existing selftests exhibited various ways for the Totals line's counts to add up to more than the number of actual tests run. Fixed counting so that only the first decisive incident is counted. Tests can still report later failure or skipping, but only the first is counted. Added a currentTestState in qtestlog.cpp, by which it keeps track of whether the test has resolved to a result, and clearCurrentTestState() by which other code can reset that at the end of each test. This brought to light various places where test-end clean-up was not being handled - due to failure or skipping in a *_data() method or init, or a skip in cleanup. Fixes: QTBUG-95661 Change-Id: I5d24a37a53d3db225fa602649d8aad8f5ed6c1ad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add a couple of utility functions to the baseline test frameworkEirik Aavitsland2022-01-135-3/+19
| | | | | | | | | | | | | | | | | | Adds a function for setting the baseline Project name, which selects the top level server directory and hence config settings. Also adds a function that lets the client override the server config setting for the project image keys (ItemPathKeys). This is the list of properties that will be used to determine which clients are "the same", i.e. which baseline to compare against. Overriding that is handy since it allows experimentation and customization of clients without involving changes in the project config on the baseline server. Pick-to: 6.3 6.2 Change-Id: Id3998356494a9a2cb71c009b43593d3dc1b6963a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* QMetaType: Allow conversion of derived gadget types to their base typesUlf Hermann2022-01-132-2/+30
| | | | | | | | A derived gadget has an is-a relationship with its base type. It should be convertible. In fact, canConvert() already tells us it is. Change-Id: I71a5ac9afd78e88adb23b4d0e757f34077f63207 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* tst_QImageReader: move text reading tests behind a flagJanne Juntunen2022-01-131-0/+8
| | | | | | | | | | | Moved tst_QImageReader::readText() and tst_QImageReader::preserveTexts() behind QT_NO_IMAGEIO_TEXT_LOADING flag. The tests were failing on webOS. Fixes: QTBUG-99717 Pick-to: 6.3 Change-Id: Ib23decbaffe8d87c07fd68c41a28a3f7ca969cb1 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* rhi: Add the basic infrastructure for tessellation supportLaszlo Agocs2022-01-1312-0/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...but this will only be supported with Vulkan and OpenGL 4.0+ and OpenGL ES 3.2+ for the time being. Taking the Vulkan model as our standard, the situation is the following: - Vulkan is ok, qsb secretly accepts .tesc and .tese files as input already (plus QShader already has the necessary plumbing when it comes to enums and such) To switch the tessellation domain origin to bottom left we require Vulkan 1.1 (don't bother with VK_KHR_maintenance2 on top of 1.0 at this point since 1.1 or 1.2 implementations should be common by now). The change is essential to allow the same evaluation shader to work with both OpenGL and Vulkan: this way we can use the same shader source, declaring the tessellation winding order as CCW, with both APIs. - OpenGL 4.0 and OpenGL ES 3.2 (or ES 3.1 with the Android extension pack, but we won't bother with checking that for now) can be made working without much complications, though we need to be careful when it comes to gathering and setting uniforms so that we do not leave the new tessellation stages out. We will stick to the Vulkan model in the sense that the inner and outer tessellation levels must be specified from the control shader, and cannot be specified from the host side, even though OpenGL would allow this. (basically the same story as with point size in vertex shaders) - D3D11 would be no problem API-wise, and we could likely implement the support for hull and domain shader stages in the backend, but SPIRV-Cross does not support translating tessellation shaders to HLSL. Attempting to feed in a .tesc or .tese file to qsb with --hlsl specified will always fail. One issue here is how hull shaders are structured, with the patchconstantfunc attribute specifying a separate function computing the patch constant data. With GLSL there is a single entry point in the tessellation control shader, which then performs both the calculations on the control points as well as the constant data (such as, the inner and outer tessellation factors). One option here is to inject handwritten HLSL shaders in the .qsb files using qsb's replace (-r) mode, but this is not exactly a viable universal solution. - Metal uses a different tessellation pipeline involving compute shaders. This needs more investigation but probably not something we can prioritize in practice. SPIRV-Cross does support this, generating a compute shader for control and a (post-)vertex shader for evaluation, presumably in order to enable MoltenVK to function when it comes to tessellation, but it is not clear yet how usable this is for us. Change-Id: Ic953c63850bda5bc912c7ac354425041b43157ef Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* tst_QString/tst_QByteArray: add checks for null-nessMarc Mutz2022-01-132-0/+79
| | | | | | | | | | We want to preserve nullness where possible. Test that various ctors do the right thing when presented with null input. Pick-to: 6.3 Change-Id: Ia1a1d4fb3c919b4fed2d9b87827815a1b5072c54 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qeventdispatcher: fix UB in single-shot timers activationAlex Trotsenko2022-01-131-6/+6
| | | | | | | | | | | | | | | Any of these timers must be stopped before the corresponding test function completes. Otherwise, functors will operate on dangling pointers, which can lead to failures or unreliability of other tests. Fix this by setting a correct context in the QTimer::singleShot() call. Pick-to: 6.2 6.3 Change-Id: Icd23f6d9a2c6e7f33495d6badc4080a1b10c19f8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Q*Parser: Replace "data" with "contents" in stringsRobert Löhning2022-01-121-3/+3
| | | | | | | | | ...to be clearer and avoid confusion with "data section". Change-Id: I13319be0e3e12aecf1e0e86c256007dfe6cb98c6 Pick-to: 6.3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fuzzing: Don't explicitly restrict sizes before loading imagesRobert Löhning2022-01-121-11/+2
| | | | | | | | | | | | | | Since Qt 6.0, QImageIOHandlers by default take care of this themselves by not allocating more than 128 MiB for an image. This change will not significantly reduce code coverage of the fuzzer because QImage::loadFromData() calls QImageReader::read() which does everything QImageReader::size() does except for returning the read size in the end. On the other hand, it will speed up the execution because the same image will not be read twice by different QImageReaders anymore. Change-Id: Iab63d9e5ec02fbe5765fbf7ccb0b82896ec37692 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix tst_qcollator run time issue on INTEGRITY deviceTatiana Borisova2022-01-121-5/+5
| | | | | | | | | | By GHS the only C locale is supported. Task-number: QTBUG-99123 Pick-to: 6.2 6.3 Change-Id: I3d89f1b2d9eb7f77b75e13a5ca65cebc24538890 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSslSocket (SecureTransport) add TLS 1.3 ciphersuitesTimur Pocheptsov2022-01-121-0/+39
| | | | | | | | | | | | | | | | | | | At some point we decided to support a custom set of ciphersuites specified by QSslConfiguration (which if you ask me was never a good idea). The law of unforseen consequiences bit us again: since we now give a set of ciphesuites to QSslConfiguration and set ciphesuites from the configuration a socket has, we are limited by the ciphersuites we know about at the moment of 'coding'. Meaning if an SDK was updated and CipherSuite.h later adds more ciphersuites, we miss them and 'don't support them', while we ... actually do. This patch tries to add some more ciphersuites introduced in TLS 1.3 (interesting, SecureTransport does not support TLS 1.3, but TLS 1.3 suites can be used in TLS 1.2 session). Pick-to: 6.2 6.3 5.15 Task-number: QTBUG-99368 Change-Id: I439b63845c4893e5621cffaf3bcaf62e2b643c74 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* rhi: Add queries for vertex input/output limitsLaszlo Agocs2022-01-122-0/+7
| | | | | | | | | | Mainly because we do have legacy code in the Qt 5 graphical effects that tries to dynamically determine the max number of varyings. Make it easier to port such code. Change-Id: I846cab2c2fe7b4cd473b5ced0146ca36f1c8169b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Draw extended RGB solid colorsAllan Sandfeld Jensen2022-01-121-0/+45
| | | | | | | Pass extended RGB colors through the paint engine. Change-Id: I2e212cd4c76aaa65439746352c0da2b9db4a506d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* macOS: Implement QCALayerBackingStore::scroll for improved performanceTor Arne Vestbø2022-01-121-2/+1
| | | | | | | | | | | | | | | | | | The CALayer backingstore never had a scroll implementation because we were relying on the QRasterBackingStore implementation, but as it turned out that implementation was not applicable for the CALayer backingstore. We now implement scroll() by determining which part of the back buffer can be scrolled directly in-place, and then scrolling the rest by copying from the front buffer. We have to handle both cases, as clients may scroll multiple times before flushing, and the scrolled area may overlap both valid back-buffer content and content that needs to be pulled from the front-buffer. Pick-to: 6.3 6.2 Change-Id: Icc09c9488386925116779c9024669a4329b38247 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Expand tst_QBackingStore auto testTor Arne Vestbø2022-01-121-1/+168
| | | | | | | Pick-to: 6.3 6.2 Change-Id: Ife6a175867cfc97c2c112d7c1bac606bc6798e98 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Adapt SQL drivers to Qt 6 change of QVariant::isNullVolker Hilsheimer2022-01-121-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | In Qt 5, QVariant::isNull returned true if either the variant didn't contain a value, or if the value was of a nullable type where the type's isNull member function returned true. In Qt 6, QVariant::isNull only returns true for variants that don't contain a value; if the value contained is e.g. a null-QString or QDateTime, then QVariant::isNull returns false. This change requires a follow up in the SQL drivers, which must still treat null-values the same as null-variants, lest they write data into the data base. Add a static helper to QSqlResultPrivate that implements isNull-checking of variants that contain a nullable type relevant for Sql, and add a test case to the QSqlQuery test that exercises that code. Pick-to: 6.2 6.3 Fixes: QTBUG-99408 Fixes: QTBUG-98471 Change-Id: I08b74a33aa3235c37d974f182da1f2bdcfd8217e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QFlatMap: add insert_or_assignMarc Mutz2022-01-121-2/+64
| | | | | | | | | | | | | | | | This does exactly what insert() on Qt associative containers does, but allows to express the intent of using the STL-incompatible Qt insert() semantics, in an STL-compatible way, instead of leaving the reader of the code wondering what semantics are expected. This is part of a very-long-term goal of fixing Qt associative container's insert() behavior, in which QFlatMap, being an affected, but private-API type, is used for proof-of-concept purposes. Task-number: QTBUG-99651 Pick-to: 6.3 6.2 Change-Id: I69010285438259918aef659d3235180c1b5be696 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove unused testdata directory from QPushButton unit testAxel Spoerl2022-01-1210-0/+0
| | | | | | Pick-to: 6.3 Change-Id: I3682dad0e5024f171ac4137b32ae30bc0693aa8f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCache: fix potential crash in trim()Mårten Nordheim2022-01-121-0/+66
| | | | | | | | | | | | | | | | | We use raw pointers to the Nodes in the QHash which is inherently fine, but we are then subject to invalidation when nodes are moved around during deletion. In trim() we don't actually need to iterate the linked-list since the node we are interested in is always chain.prev Pick-to: 6.3 6.2 6.2.3 Fixes: QTBUG-99710 Task-number: QTBUG-99224 Task-number: QTBUG-99240 Change-Id: I9c2ed69b29e3cadca013113a3553deb44d7382fc Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Remove unused legacy testdata directory from QWidget kernel unit testAxel Spoerl2022-01-128-0/+0
| | | | | | Pick-to: 6.3 Change-Id: Id857c12321b72a7f35e9e7a157dc39f7fb95ecde Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QCursor::setPos() use the correct screenMorten Johan Sørvig2022-01-121-0/+19
| | | | | | | | | | | | | | | | setPos() takes a screen argument, however this argument indicates which cursor should be moved only and is not usable as an argument to toNativePixels() since the position may be on a sibling screen. Add call to QScreen::virtualSiblingAt to get the target screen. Task-number: QTBUG-99009 Pick-to: 6.3 6.2 5.15 Change-Id: I8714ebc93a283c58bc67911315f787c484fb0dd8 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* xcb: Correctly update primary screen status with RandR 1.5Zhang Hao2022-01-121-1/+34
| | | | | | | | | | This amends d8f37d94e537aaab4fa960b80aacabe79bcc14c4 . Fixes: QTBUG-99605 Pick-to: 6.3 Done-with: Liang Qi <liang.qi@qt.io> Change-Id: Ia4cf67d6ebeed36596c0342302aa0b4af01769bc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QFlatMap: add an alias for using QVarLengthArraysMarc Mutz2022-01-121-2/+1
| | | | | | | | | | ... in an attempt to foster the use of this data structure by making it less onerous to spell. Pick-to: 6.3 6.2 Change-Id: Ib9d17029c75278edde6ba90f65f68af179a6d230 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QFlatMap: add try_emplace (w/o hint)Marc Mutz2022-01-121-0/+83
| | | | | | | | | | | | | | | | | | | | | | QFlatMap, like its public brethren, features the broken Qt-style insert() behavior (what the STL calls insert_or_assign()), which makes its insert() unusable for actual STL-style insert() work, with no replacement except the size-check-and-index-operator trick: const auto oldSize = c.size(); auto &e = c[key]; if (c.size() != oldSize) { // inserted } Even though QFlatMap::insert() appears to return the correct info, it's useless, because the old value has been assigned over by the time insert() returns. Pick-to: 6.3 6.2 Change-Id: If4173c42523a128dfd22ab496dde0089ba73f41c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Enable markdown writer 'preformats with embedded backticks' testShawn Rutledge2022-01-121-3/+3
| | | | | | | | It happens to pass now. Pick-to: 6.2 6.3 Change-Id: I0f6132251c3ee4ee2fef5530f8ed6997e3c946ab Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Add a markdown writer test for a checklist item ending with `code`Shawn Rutledge2022-01-121-0/+29
| | | | | | | Task-number: QTBUG-81583 Change-Id: I32540615be66f4e45bb1b3b19e914bea3aacf3e7 Pick-to: 6.3 6.2 5.15 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* rhi: Improve the handling of HDR capable texture formatsLaszlo Agocs2022-01-112-146/+241
| | | | | | | | | | | Add some sort of autotest for both RGBA16F and the new RGB10A2. The latter is introduced particularly because ideally we should have a texture format that corresponds to the D3D/Vulkan swapchain color buffer format with HDR10. Change-Id: I1e1bbb7c7e32cb3db89275900811c0bcaeac39d6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QByteArray: fix append() with a negative lengthThiago Macieira2022-01-111-0/+1
| | | | | | | | | | | | The documentation says that if it's negative, we find the null termination. This bug was introduced with the clean up to use QByteArrayView in commit 8897aa071a668563a53a4c2e6909572f1762b1e7. Fixes: QTBUG-99640 Pick-to: 6.3 6.2 Change-Id: Ib42b3adc93bf4d43bd55fffd16c89fa4a960f3a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Use QTextCharFormat::fontFixedPitch to remember Markdown backtick spansShawn Rutledge2022-01-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | If the editing app (like qtbase/examples/widgets/richtext/textedit) has controls only for setting a specific font, and someone uses it to write markdown "from scratch", then we need to detect that they chose Courier or some other fixed-pitch font, and write the backticks, because Markdown has no syntax for selecting a specific font family. If the user loads markdown into such an application, the font is set to QFontDatabase::systemFont(QFontDatabase::FixedFont). Round-trip editing was already working, as long as such a font exists. QTextCharFormat::setFont() calls setFontFixedPitch(font.fixedPitch()), but for the chosen "mono" font, font.fixedPitch() can be false. For semantic completeness and separation of concerns, we now set fontFixedPitch explicitly if a `backtick` span is encountered. As a followup to f1e60de66540b198d696253ab5148de4fcbff319 this should get its autotest passing reliably. Fixes: QTBUG-99676 Pick-to: 6.3 6.2 5.15 Change-Id: I4987a1f0f819f82ec64546bdc3ef53e7d29933de Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Turn QLabel wordWrap unit test into data driven testAxel Spoerl2022-01-081-8/+25
| | | | | | | | Add test to verify that allowing wordWrap actually breaks long lines. Pick-to: 6.3 Change-Id: I09bd2d754e86ebf35db551ee76f7f037371acec9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Cleanup of getSetCheck method in QLabel unit testAxel Spoerl2022-01-081-8/+2
| | | | | | | | Remove dead code and replace QCOMPARE with QVERIFY. Pick-to: 6.3 Change-Id: I756bc0f160b8a27f38b705e919df2aa9d3b1f38a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Clean up QLabel unit test for unicodeAxel Spoerl2022-01-081-14/+9
| | | | | | | | Remove unused column in test data and unused local variables. Pick-to: 6.3 Change-Id: Ia012fe8240cf9831c1053b76ae31216145d61732 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_qfuture: fix compilation on MSVCAlex Trotsenko2022-01-081-1/+1
| | | | | | | | | | | | Suppress the error: C1128: number of sections exceeded ... limit: compile with /bigobj Fix by setting the correct target in CMake script. Pick-to: 6.2 6.3 Change-Id: If241fbaa70b68ca698dae2d484146e7bac970609 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Fix compiler warnings by marking overrides in testVolker Hilsheimer2022-01-071-2/+2
| | | | | | | | Pick-to: 6.3 Change-Id: Iab5f121ee49c71821a2b71b20ddb36846b1bbaf7 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* tst_QIcoImageFormat: move the test behind a feature flagJanne Juntunen2022-01-071-1/+3
| | | | | | | | | | | Do not build and run tst_QIcoImageFormat when QT_FEATURE_ico is disabled. This test was failing on webOS since there is no imageformatplugin for .ico when the feature is disabled. Fixes: QTBUG-99633 Pick-to: 6.3 Change-Id: I410b351f773639c0c29e09d4d0b5bc6da13df1d9 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Remove unused legacy files from QLabel unit testAxel Spoerl2022-01-0765-0/+0
| | | | | | Pick-to: 6.3 Change-Id: Ibd4ec0bc987d52877154ff2fd0d43e583f08455b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add BC files for 6.2.0Milla Pohjanheimo2022-01-0711-0/+97707
| | | | | | | | | | | Binary compatibility files added. Change-Id: Ic237e3b2105bc84ea802b9f65ec7440c26ee7328 Pick-to: 6.2 Change-Id: Ic237e3b2105bc84ea802b9f65ec7440c26ee7328 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* QFlatMap: fix mixed rvalue/lvalue insert overloadsMarc Mutz2022-01-071-0/+37
| | | | | | | | They never worked. Pick-to: 6.3 6.2 Change-Id: I9a15c848416419823f28ea580248fbe93a4365dd Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* rhi: Returns mapping tables by value from QShaderLaszlo Agocs2022-01-071-13/+12
| | | | | | | | | As these are QList and QHash. All existing usages are based on this anyway, no value in being able to indicate "not available" - an empty container fulfills the same role. Change-Id: I8059025fa7a4acb6fc674cd98b16fcafa19ed85d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* tst_qtouchevent: remove two QMutableEventPoint::from() usesMarc Mutz2022-01-061-2/+2
| | | | | | | | | The input is already a QMutableEventPoint. Task-number: QTBUG-99615 Pick-to: 6.2 6.3 Change-Id: I82b3e83ffa5b87c9a562cb3bb1d7bad0a0cd5245 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QTextMarkdownImporter: don't apply text char format to list item blockShawn Rutledge2022-01-061-0/+29
| | | | | | | | | | | | | | | | | | We want an ordered list item's number to be rendered with default char format, like the others in the same list, even if the list item's text begins with a span that has a different char format. So insert the list item's block with a default char format first, then change the char format of the cursor to suit the text that's about to be inserted. In HTML interpretation, it means the <li> does not have a style, but contains a styled span. Fixes: QTBUG-92445 Task-number: QTBUG-3583 Task-number: QTBUG-99148 Pick-to: 5.15 6.2 6.3 Change-Id: I7eb58a8d1171c16503cac01c8cce109d9f12e1af Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Blacklist tst_QTouchEvent::multiPointRawEventTransOnTouchPad - macOSShawn Rutledge2022-01-061-0/+2
| | | | | | | Task-number: QTBUG-99489 Change-Id: Ia74b0f7e3a82fe7cf68248109e84e8decbbc4ae3 Reviewed-by: Dimitrios Apostolou <jimis@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Blacklist quitOnLastWindowClosedWithEventLoopLocker on B2QtTor Arne Vestbø2022-01-061-0/+3
| | | | | | | | It's flakey according to http://testresults.qt.io/grafana/goto/1WdyblA7k Pick-to: 6.2 6.3 Change-Id: I4e5a3492d55222675534359416c1017dcba2cbfe Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* rhi: Add support for separate image and sampler objectsLaszlo Agocs2022-01-065-0/+145
| | | | | | | | | | | | | | | | | | | | | For Direct 3D, Metal, and Vulkan this is natively supported. (and makes no difference in particular for D3D and Metal because they do not have the legacy combined image sampler concept anyways) With OpenGL it will work too, but this relies on SPIR-Cross magic and is still using a combined sampler (e.g. a sampler2D) in the GLSL shader. The GL backend walks back and forth in the mapping tables from the shader baker in order to make this work, which is presumably slightly more expensive than combined image samplers. Do note that combined image samplers (i.e. sampler2D in the shader and QRhiShaderResourceBinding::sampledTexture() in code) continue to be the primary, recommended way for any user of the rhi for the time being. Change-Id: I194721bc657b1ffbcc1bb79e6eadebe569a25087 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>