summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tst_QTreeView: cleanupChristian Ehrlicher2019-09-191-516/+511
| | | | | | | | | | | | | | Cleanup QTreeView autotest: - use range-based for loops - use nullptr - use member initialization - use new signal/slot syntax - use static invocations / replace with QTRY_foo() calls - use override - use QStyledItemDelegate Change-Id: I0e2d023254ed9f6f5d94cebf4d4358351cc4c3e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* tst_QTreeWidget: cleanupChristian Ehrlicher2019-09-192-559/+483
| | | | | | | | | | | | | Cleanup QTreeWidget autotest: - use range-based for loops - use nullptr - use member initialization - use new signal/slot syntax - use static invocations - use override Change-Id: I2c07e95871d8725366cddd5cd098010709c8dc55 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Disable debug-and-release builds for MinGWSimon Hausmann2019-09-186-9/+15
| | | | | | | | | | | | | | | | | | | | | The requirement to separate debug and release DLLs on Windows stems from the Visual Studio C run-time library appearing in two different variants (debug and release) and not mixing well. It's possible to perform builds without optimzations and with debug symbols while linking against the release version of the C run-time, but at the same time the debug version of the run-time brings other developer visible advantages. MinGW on the other hand does not have this distinction, does not ship with separate DLLS and does also not require the VS C runtime library. Therefore we do not need this separation for MinGW, which means that our packages can be reduced in size and application developers wishing to debug their applications do not have to use debug builds of the Qt libraries or run into Qt internal debug code. Task-number: QTBUG-78445 Change-Id: Idf588606091298dc44262c4c89e689df18d34747 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QTextDocument: Fix device scaling for QTextFrameFormat margins, padding and ↵Nils Jeisecke2019-09-171-0/+17
| | | | | | | | | | | | | | | | | | | | border Those values must be scaled to device coordinates - otherwise borders, margins etc. will be too small when rendered on high dpi devices (printers etc.). This change will add the scaling to those values. QTextDocument::print applies 2cm margins to the root frame of a unpaginated QTextDocument. Those margins were previously scaled to device coordinates in order to give the correct result. But because scaling is now done inside QTextDocumentLayout that scaling must be removed and pixel values based on qt_defaultDpi are provided instead. Fixes: QTBUG-78318 Change-Id: I6fe6dcc25f846341f6a2fe5df2f54baea473fdfd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix mis-handling of actual TLD in qIsEffectiveTLD()Edward Welbourne2019-09-162-0/+11
| | | | | | | | | | | | | | | If the domain passed down is an actual TLD that's the subject of a * rule, e.g. "ck" subject to *.ck, then we were finding no dot in it and concluding that it couldn't be the subject of a * rule. Added a test for the specific .ck case and commented on where we could get some canonical test data that I tripped over while researching this. Cross-reference the cookie-jar test from the QUrl test, too. Fixes: QTBUG-78097 Change-Id: Id858a9dae22e6b306a68df3fc199e0160f537159 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CoreText: Modernize style hint fallback lookupTor Arne Vestbø2019-09-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DefaultFontFallbacks.plist system file that we used for looking up style fallbacks does not exists in macOS 10.15, nor did it ever exists on iOS. Instead of relying on this file, we hard-code a set of default families, that we then look up the fallbacks for. The result of QFont::defaultFamily() on macOS is now: QFont::Helvetica --> "Helvetica" QFont::Times --> "Times New Roman" QFont::Courier --> "American Typewriter" QFont::OldEnglish --> "" QFont::System --> "Lucida Grande" QFont::AnyStyle --> "Lucida Grande" QFont::Cursive --> "Apple Chancery" QFont::Monospace --> "Menlo" QFont::Fantasy --> "Zapfino" And on iOS: QFont::Helvetica --> "Helvetica" QFont::Times --> "Times New Roman" QFont::Courier --> "American Typewriter" QFont::OldEnglish --> "" QFont::System --> "Helvetica" QFont::AnyStyle --> "Helvetica" QFont::Cursive --> "" QFont::Monospace --> "Menlo" QFont::Fantasy --> "Zapfino" Fixes: QTBUG-78240 Change-Id: Ie9bc13c9c1031d89f024199e4736a046c568a48d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_QWidget::translucentWidget(): Pass with High DPI scaling enabledFriedemann Kleint2019-09-161-1/+2
| | | | | | | | | | | | | | | Since 9c8d1ca18b48dbcc89dda1b9bacdf7d49c7fc754, the test would fail when High DPI scaling is enabled: FAIL! : tst_QWidget::translucentWidget() Compared QImages differ in device pixel ratio. Actual (actual): 2 Expected (expected): 1 .\tst_qwidget.cpp(8913) : failure location Set the device pixel ratio on the expected pixmap to fix this. Change-Id: I517495931c2c6b1f49125bb4b5836e304bdbf545 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* tst_QTableView: cleanupChristian Ehrlicher2019-09-141-730/+641
| | | | | | | | | | | | | | | | Cleanup QTableView autotest: - use range-based for loops where possible - use nullptr - use member initialization - use new signal/slot syntax - remove a lot of c-style casts - use static invocations - use override - instantiate objects on stack instead heap to avoid memleaks Change-Id: I52fee26697b1732afa9f965e600d4c59551370ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* MS TZ data: avoid calculating a date in year 0Edward Welbourne2019-09-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | There is no year 0 in the proleptic Gregorian calendar, so QDate() won't be happy if asked for a date in it. Tweak scanning of the data we get from MS-Win so as to avoid a date calculation that could otherwise happen in year 0 when constructing QDateTime(QDate(1, 1, 1), QTime(0, 0, 0), QTimeZone("Australia/Sydney")). Added a test for this case, which Oliver Wolff has kindly verified does reproduce the assertion failure. However, Coin is unable to reproduce, as all its MS builds are configured with -release, so Q_ASSERT() does nothing. (The relevant code then skips over year 0, albeit for the wrong reasons, and gets the right results, albeit inefficiently, leaving no other symptom by which to detect the problem.) Fixes: QTBUG-78051 Change-Id: Ife8a7470e5bd450bc421e89b3f1e1211756fc889 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-09-131-3/+0
|\ | | | | | | Change-Id: Idcf8fc1d79bcd84b494d7f43308e6fe82d60e1a4
| * Re-add tst_selftests "crashes old stdout txt" on QEMUAssam Boudjelthia2019-09-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | The test is not failing anymore on QEMU targets. This partially reverts commit 71bd06d516a2410ae0ea698e79dcb94aba9bc5b4. Fixes: QTBUG-71915 Change-Id: I68593edf0ec245e14879833c8aa90661a3c2e227 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | rhi: Add a flag to indicate preferring a software adapterLaszlo Agocs2019-09-121-0/+7
| | | | | | | | | | | | | | ...if there is one and the concept is applicable in the first place. Change-Id: Iab202c1c1cdd229f4910159de4cae7ce30805ea9 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | rhi: d3d11: Add the device lost testing machineryLaszlo Agocs2019-09-121-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The device can be lost when physically removing the graphics adapter, disabling the driver (Device Manager), upgrading/uninstalling the graphics driver, and when it is reset due to an error. Some of these can (and should) be tested manually, but the last one has a convenient, programmatic way of triggering: by triggering the timeout detection and recovery (TDR) of WDDM. A compute shader with an infinite loop should trigger this after 2 seconds by default. All tests in tests/manual/rhi can now be started with a --curse <count> argument where <count> specifies the number of frames to render before breaking the device. Qt Quick will get an environment variable with similar semantics in a separate patch. Change-Id: I4b6f8d977a15b5b89d686b3973965df6435810ae Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | QReadWriteLock: add a check for writeOnly, tooMarc Mutz2019-09-121-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Results on my machine: PASS : tst_QReadWriteLock::writeOnly(QMutex) RESULT : tst_QReadWriteLock::writeOnly():QMutex: 3,607 msecs per iteration (total: 3,607, iterations: 1) PASS : tst_QReadWriteLock::writeOnly(QReadWriteLock) RESULT : tst_QReadWriteLock::writeOnly():QReadWriteLock: 39,703 msecs per iteration (total: 39,703, iterations: 1) PASS : tst_QReadWriteLock::writeOnly(std::mutex) RESULT : tst_QReadWriteLock::writeOnly():std::mutex: 3,697 msecs per iteration (total: 3,697, iterations: 1) PASS : tst_QReadWriteLock::writeOnly(std::shared_mutex) RESULT : tst_QReadWriteLock::writeOnly():std::shared_mutex: 5,727 msecs per iteration (total: 5,727, iterations: 1) PASS : tst_QReadWriteLock::writeOnly(std::shared_timed_mutex) RESULT : tst_QReadWriteLock::writeOnly():std::shared_timed_mutex: 5,921 msecs per iteration (total: 5,921, iterations: 1) (the 'nothing' test of course doesn't work with writing, as writing to the same QString from different threads is UB) Change-Id: Ia78b54963a51eaf6563ce0d243316a3337056a83 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Brush up QReadWriteLock benchmarkMarc Mutz2019-09-122-8/+23
| | | | | | | | | | | | | | | | | | - add override - tests C++17 shared_mutex in addition to C++14 shared_timed_mutex - replace manual memory management with unique_ptr Change-Id: If52df2097a4b92c10df4a7cdbb1c506d64b673e3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | tst_QTableWidget: cleanupChristian Ehrlicher2019-09-101-210/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup QTableWidget autotest: - use range-based for loops where possible - use nullptr - use member initialization - use new signal/slot syntax - remove a lot of C-style casts - use static invocations - use override - instantiate objects on stack instead of heap to avoid memleaks Change-Id: I99ed144caab88d648d5ab987ce0963fbc6f1197d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Friedemann Kleint2019-09-095-20/+48
|\| | | | | | | | | | | | | Conflicts: tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp Change-Id: Idd3ca5cb9a2b95a4c3513b2a4c8966e6f56193f1
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-083-2/+21
| |\ | | | | | | | | | Change-Id: I371c5ae1af6f58e32e579671f485b92b586e0b76
| | * Merge remote-tracking branch 'origin/5.12.5' into 5.12Qt Forward Merge Bot2019-09-071-0/+17
| | |\ | | | | | | | | | | | | Change-Id: I41a252fdbf22551aadb0b1a6e9ecf3f95f99fbd4
| | | * Fix crash when text contains too many directional charsRainer Keller2019-08-301-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case a text to be layouted contains more than 128 directional characters it causes the application to crash The function initScriptAnalysisAndIsolatePairs() collects information of RTL/LTR chaaracters into vector "isolatePairs". The size of the vector is capped to 128. Later the function generateDirectionalRuns() iterates the text again and tries to access items from the previously capped vector above the upper bound. Task-number: QTBUG-77819 Change-Id: Ibb7bf12c12b1db22f43ff46236518da3fdeed26a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | QShortcut: call base class implementation in event()Christian Ehrlicher2019-09-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QShortcut::event() did not call the base class implementation QObject::event() which caused that e.g. QEvent::DeferredDelete was not handled. Fix it by calling QObject::event() when the event was not handled. Fixes: QTBUG-66809 Change-Id: Ideebc980bc658f8f2b9ec4417e738bccda5eeab5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | tst_http2::goaway - run in ALPN mode onlyTimur Pocheptsov2019-09-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was observing rare crashes on my mac, where I was using SecureTransport. This would imply both the client (the test) and the server were working in h2c mode. But this is against the test's logic - the first request will be HTTP/1.1 (and upgrading protocol) and I wanted to send 3 HTTP/2 requests instead. Fixes: QTBUG-77476 Change-Id: I048ca242e2096ca36dd112277807d1fee530150c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | QPainter lancelot test: improve drawImage testingEirik Aavitsland2019-09-021-2/+8
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QPainter, there is a shortcut code path for the drawImage(point, image) call, relative to the full drawImage(targetRect, img, srcRect). The lance script interpreter would only use the latter, so the former was not covered by the tests. As a driveby, remove the pointless usage of non-default dithering flags in drawImage(), since it is more important to test the default. Change-Id: Id373fd528a0c4c40b6bd8eea37b960fd7cdb2cc7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Merge remote-tracking branch 'origin/5.13.1' into 5.13Qt Forward Merge Bot2019-09-051-0/+17
| |\ \ | | | | | | | | | | | | Change-Id: Ic633850940bbe17dcedc1609217a052b6f81ce4b
| | * | Fix crash when text contains too many directional charsv5.13.1Rainer Keller2019-08-311-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case a text to be layouted contains more than 128 directional characters it causes the application to crash The function initScriptAnalysisAndIsolatePairs() collects information of RTL/LTR chaaracters into vector "isolatePairs". The size of the vector is capped to 128. Later the function generateDirectionalRuns() iterates the text again and tries to access items from the previously capped vector above the upper bound. Task-number: QTBUG-77819 Change-Id: Ibb7bf12c12b1db22f43ff46236518da3fdeed26a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 1232205e32464d90e871f39eb1e14fcf9b78a163) Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | Add binary compatibility files for Qt5.13.0 for QtBaseMilla Pohjanheimo2019-08-1511-0/+105327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary compatibility files added. Change-Id: If013647f17ade6a51e9f8678252b373d8f51d010 Reviewed-by: David Faure <david.faure@kdab.com> (cherry picked from commit b5677bc6da9c5e7517edc4902dc1fe7cf211685d) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * | | Update lancelot tests to use non-system-specific host info collectionDaniel Smith2019-09-041-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the lancelot baseline test runner to use generic text files for host info data collection. This also avoids relying on QProcess and scraping the bash scripts output from stdout. Fixes: QTBUG-71836 Change-Id: I88a46c99dbb11f71afc18cae5a6d2fbebcbe76c5 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | Remove BT.2020 support from QColorSpaceAllan Sandfeld Jensen2019-09-081-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BT.2020 is an HDR color space and its luminance range doesn't match that of the rest of the currently available color spaces. Without support for white-point luminance in 5.14, there would be a behavior change when luminance support is later introduced, so it is better to remove it now, and reintroduce it when the necessary handling of different luminance levels is available. Change-Id: Ie29e4dd757faae3ac91d4252e1206acce42801dc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Fix the build of the qgraphicslayout manual testSona Kurazyan2019-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was accidentally introduced by 2f33e030b8c80b4665cc2c120df7833469c05145 and since manual tests are not built by default, was not discovered earlier. Change-Id: I5cb6d5cfe0911bdb01a33014f2648a47b7a48848 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | | Combine BGR30_to_RGB30 and BGR888_to_RGB888Allan Sandfeld Jensen2019-09-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And let the meat of the function be shared with the rbSwap routine. Change-Id: I0ea18b30c26ff050c17dcb3ad4d654bfbb8c6221 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | QGraphicsView: mark obsolete flag DontClipPainter as deprecatedChristian Ehrlicher2019-09-051-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The enum OptimizationFlag::DontClipPainter is deprecated and not used in the code since Qt4 times. Therefore also mark it as deprecated so it can be removed with Qt6 Change-Id: I318a55cf42e7a233d13d4ec0144e1977251f5c92 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | | Remove QOperatingSystemVersion::WindowsVistaSona Kurazyan2019-09-054-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The minimum supported version is Windows 7. Remove QOperatingSystemVersion::WindowsVista added by b0cd007335853f283c47ffb0f5611d14e6dbe84b and replace with "true" wherever it was used. Change-Id: I08c0208467b655a921b6773f77d8bc099be69031 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Rename calendar methods from m{in,ax} to m{in,ax}imumEdward Welbourne2019-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Words should not be abbreviated. Split a long line and reflowed some comments in the process. Fixes: QTBUG-78008 Change-Id: I52d75409f02e2cecbed3e94d424617ad594c275b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | Limit QColorSpacePrimaries export to auto-testTor Arne Vestbø2019-09-041-0/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I997a5a7afa72f2fd527921ed81d6ccf5f339962b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-09-042-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/codecs/qicucodec.cpp src/dbus/qdbusserver.cpp src/gui/painting/qbezier.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp src/plugins/printsupport/cups/qppdprintdevice.cpp Change-Id: I2703128bb64baf5580fbc2c2061b55b0f0611d2a
| * | | Merge remote-tracking branch 'qt/5.12' into 5.13Paul Olav Tvete2019-08-202-3/+4
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/configure.json src/gui/util/qtexturefilereader.cpp src/gui/util/util.pri tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp Change-Id: I2bc4f84705b66099e97330cda68e0b816aceb9cc
| | * | Make the inputRejected test compatible with -no-feature-clipboardJames McDonnell2019-08-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt for QNX is, by default, built without the clipboard feature. Change-Id: Ie8a36ceb0c0f0a695ae7d0fcf6f0bd70d2a43e0c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
| | * | QTextureFileReader: backport ASTC supportEirik Aavitsland2019-08-154-24/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for astc format files as an experimental feature. To enable, configure with "-feature-texture_format_astc_experimental" (Backported from commit 5a4db421bd94acd12a4ac1f77031996b95f85dbf) Change-Id: I9a2f7b1fa20ba344b79637bafb50ff2bd0596747 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Fix qinstall on Windows for directories containing read-only filesJoerg Bornemann2019-08-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial patch by: Vlad Lipskiy <eswcvlad@yahoo.com> Fixes: QTBUG-77299 Change-Id: I803b809d1f23d844252b701cb070f6e4ba34eca1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | | Simplify QColorSpace named presetsTor Arne Vestbø2019-09-032-28/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need a getter for the 'preset' of a color-space, as color spaces can be compared to the presets directly. This allows us to remove the Undefined and Unknown values from the presets. Internally we still distinguish known presets from unknown or undefined presets via the magic 0-value. The validity of a QColorSpace is not based on this preset, but on its actual values. Fixes: QTBUG-77963 Change-Id: I1e0a2a4be83021b8c82b3c778019f680fd46455b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Fix the build with disabled QGraphicsItem::ItemMatrixChangeSona Kurazyan2019-09-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QGraphicsItem::ItemMatrixChange has been deprecated since 5.14. Fixed the usage in tests to compile condinionally, only when it is available. Change-Id: I63e892a01a50fb9ac51bf38eb761cb26375bc194 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | | | Fixup move semantics of QColorSpaceAllan Sandfeld Jensen2019-09-021-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop using QExplicitlySharedDataPointer, makes it possible to inline the move constructor and assign operator. Also protect other methods from nullptr d_ptr, and change the default constructed value to also have a null d_ptr, to match the result after a move. Change-Id: I40928feef90cc956ef84d0516a77b0ee0f8986c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Remove QFileInfo::type and related enum from 5.14Volker Hilsheimer2019-08-301-82/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is problematic for several reasons: - the mixing of flags and enum in a single enum type - the name "type" as somewhat overloaded - the ease of misuse when comparing the result rather than testing for a bit being set In light of this, focus for 5.14 on the new isShortcut and isSymbolicLink functions, thus migitating the problematic isSymLink which conflates the two concepts. Change-Id: I57e02321edd5061f69a775f04a0932ef89adf866 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Extend QDate's benchmarkEdward Welbourne2019-08-301-5/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test more methods. Document what the existing test covers. Use the right #include for QDate. Change-Id: I051542c244e5bc381aafa3ae38144e246919db7a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Convert foreach to ranged for in QDateTime benchmarkEdward Welbourne2019-08-301-34/+34
| | | | | | | | | | | | | | | | | | | | Change-Id: I05cf7b1916afa94a9f0f9b83af9b4ebe20a04cf0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Deduplicate list-building code in QDateTime benchmarkEdward Welbourne2019-08-301-108/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aside from the start-date and the end-date, and a variant with a time-zone, the lists various tests were building were all built the same way; so pack that up as a pair of functions (one without time-zone, one with) to save duplication. Make the list in each function const, ready for conversion of foreach loops to ranged for. In the process, replace QList with QVector, reserve space before we populate and use auto for the now-const list variables it's saved in. Change-Id: I7d8cce459a4d6111cd645e8d3966ad769ab7e201 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Fix unused variable warnings in QDateTime benchmarkEdward Welbourne2019-08-301-5/+15
| | | | | | | | | | | | | | | | | | | | Change-Id: Id123ace74cfa7b5ff406eabbfda0aad9f58c3fd4 Reviewed-by: David Faure <david.faure@kdab.com>
* | | | Fix some bogus date calculations in QDateTime's benchmarkEdward Welbourne2019-08-301-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiplying a Julian Day number by the number of milliseconds per day does not get you a time since the start of 1970; it gets you a time since the start of the Julian Day number system, which was several millennia earlier. Change-Id: Ic90a6c3de445baf9cfd30f28dd847f146e6a7adf Reviewed-by: David Faure <david.faure@kdab.com>
* | | | Pass QDate, QTime as value classes, rather than by const referenceEdward Welbourne2019-08-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can, of course, only be done in private APIs - but comment on public APIs to do the same at Qt 6. Change-Id: I3c79951572be3c37b0b0c5b1b05bced051a40964 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | QEventDispatcherWin32: avoid livelock in a foreign event loopAlex Trotsenko2019-08-291-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Windows docs, GetMessage() function retrieves the messages from the input queue in defined order, where posted messages are processed ahead of input messages, even if they were posted later. Therefore, if the application produces a posted event permanently, as a result of processing that event, user input messages may be blocked due to hard CPU usage by the application. It's not a problem, if an internal Qt event loop is running. By calling sendPostedEvents() on the beginning of processEvents(), we are sending posted events only once per iteration. However, during execution of the foreign loop, we should artificially lower the priority of the WM_QT_SENDPOSTEDEVENTS message in order to enable delivery of other input messages. To solve the problem, it is proposed to postpone the WM_QT_SENDPOSTEDEVENTS message until the message queue becomes empty, as it works for the internal loop. Task-number: QTBUG-77464 Change-Id: I8dedb6837c6fc41aa6f497e67ab2352c2b4f3772 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>