summaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-077-30/+53
|\ | | | | | | Change-Id: Idf2bef470663864069bbf7e41af07b534936863a
| * Revise dates of Pacific/Kiritimati's day-skip transitionEdward Welbourne2018-04-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The TZ database has recently revised its ccount of when they skipped a day to cross the international date line, from skipping Jan 1st 1995 to skipping December 31st 1994. So Move the before-days check to December 30th; and correct the Feb 2nd that was meant to be Jan 2nd (and does need to remain so, for compatibility with systems with out of date data). Task-number: QTBUG-67497 Change-Id: I5b9483c553205817f995f91793662a5a85e03192 Reviewed-by: Liang Qi <liang.qi@qt.io>
| * oci: Use OCIBindByPos2 to accommodate data longer than USHRT_MAXAndy Shaw2018-04-061-0/+24
| | | | | | | | | | | | | | | | OCIBindByPos2 is only needed when using execBatch(), binding data that is longer than USHRT_MAX works for exec() so this is left unchanged. Change-Id: Ifdcf91939d184f225d24c13052ea0b81611ecf91 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * tests/auto/other: Avoid unconditional qWait()sKari Oikarinen2018-04-062-14/+3
| | | | | | | | | | | | | | | | | | There is no need to qWait() before a QTRY_VERIFY. qWait() will also intermittently handle events while waiting, so calling it in a loop isn't necessary. Change-Id: Ica7fbf18c03e673213dd9b72f31f71937cdcb145 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * QMimeDatabase: fix assert when fetching data for invalid mimetypeDavid Faure2018-04-061-0/+2
| | | | | | | | | | | | | | | | | | The Q_ASSERT(mimePrivate.fromCache) at qmimedatabase.cpp:218 which I added in commit 7a5644d648, was being triggered when calling comment() for invalid mimetypes such as db.mimeTypeForName(""). Change-Id: I8037041a4b435d2a5ba24ec94b7858e38b2f0bf2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QSqlDatabase: Skip confusing thread warning on invalid QSqlDatabaseDavid Faure2018-04-061-0/+3
| | | | | | | | | | | | | | | | | | If the db isn't valid, then that's the actual issue, not the fact that we're getting the same invalid db (with the same driver QSqlNullDriver) in multiple threads. Change-Id: I95490818ed78e741c3823e115f139c2cff01b0b1 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * tst_QLocale: Avoid manual deletesKari Oikarinen2018-04-061-14/+19
| | | | | | | | | | | | | | | | | | Also use data-driven test to reduce duplication. Change-Id: I9516e52267cb3c7b239030fd73dbbf23ac8f52f7 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-064-10/+33
|\| | | | | | | Change-Id: Ic811cd444e523b904211797112bba6aaec85dddd
| * Kludge QLocale test order to fix fall-out from setDefault()Edward Welbourne2018-04-051-10/+28
| | | | | | | | | | | | | | | | | | | | | | This makes an irreversible global change: tests that do it will mess with other tests. So make sure they're all last. This required splitting up one test; and revealed another that secretly depended on being run with C as default locale. Task-number: QTBUG-67276 Change-Id: Ic24ef48b2c9bd5c37c1f11260b437628019624ca Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
| * tst_QCursor::equality(): Silence warningsFriedemann Kleint2018-04-051-0/+3
| | | | | | | | | | | | | | | | | | | | Silence numerous warnings: QCursor: Cannot create bitmap cursor; invalid bitmap(s) Amends 6445aa4b064931cda36243aafc1600915fac093e. Change-Id: I7b467cdeeaa7a854c2878cf1ed2a6113d8c96059 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * Hide global qtlogging.ini from autotestKai Koehne2018-04-052-0/+2
| | | | | | | | | | | | | | | | | | | | Do not let a global qtlogging.ini interfere with an autotest. This works around an issue on Ubuntu 17.10 Task-number: QTBUG-67385 Change-Id: I0d02835eb7a561b43fe0b98f4383c170c6d51303 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
* | tst_QSslSocket::signatureAlgorithm - fix for OpenSSL 1.1Timur Pocheptsov2018-04-051-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test creates client and server sockets with mismatching protocol versions, trying different combinations, for example: 1) server (TLS 1.0) vs client (TLS 1.2) or 2) server (TLS 1.2) vs client (TLS 1.1), etc. Since TLS v < 1.2 does not support signature algorithms, they are ignored and handshake is always successful. But our new OpenSSL 1.1 backend uses generic TLS_client_method and TLS_server_method when creating SSL_CTX. This means, both server and client will support TLS v. 1.2, they will have no shared signature algorithms, thus handshake will fail with an error string similar to this: "tls1_set_server_sigalgs:no shared signature algorithms". For OpenSSL 1.1 this test makes no sense. Task-number: QTBUG-67456 Change-Id: Ibb2a12eea5e5c0ebaeee7d0719cc721ecf4763e6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-055-33/+37
|\| | | | | | | Change-Id: I954bd6418bc862a04691240c0f1766f6ce033640
| * Add lancelot based benchmarkAllan Sandfeld Jensen2018-04-041-2/+5
| | | | | | | | | | | | | | | | Uses the scripts and tests we already have for lancelot as a painting benchmark. Change-Id: Idf8a55e2261162e619f6dbb567dc19f8dc96da4e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * tst_QStateMachine: Don't use unconditional waitsv5.11.0-beta3Kari Oikarinen2018-04-041-2/+5
| | | | | | | | | | | | | | | | Instead use QSignalSpy to wait directly for the expected events. Change-Id: I319302ea7177fe690b5d885347c505454904518e Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * Narrow tst_QDnsLookup::lookup blacklist to only CIKari Oikarinen2018-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | It is suspected that the fault actually lies in CI infra. Amends e3cf2a1ae959b69957c98f4b9213c4cbc632e888. Task-number: QTBUG-66311 Change-Id: I967da283f0b94be1d0b99481d0cbd15ca7f98d45 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QThread: Use QTRY_VERIFY instead of qWaitsKari Oikarinen2018-04-031-6/+2
| | | | | | | | | | | | | | | | | | | | These two places were sort of manually implementing QTRY_VERIFY except that they never time out. Change-Id: I136e6c7400194327c0475c6acfc019825ccec1b5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
| * tst_QFutureWatcher: Avoid unconditional qWait()sKari Oikarinen2018-04-031-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QSignalSpy::wait or QTRY_VERIFY instead. This shaved off ~200 ms of the running time of the test and is more reliable. Some unconditional qWait()s still remain in this test. They are giving an opportunity for the wrong thing to happen and thus are not waiting for any specific condition to be fulfilled. Task-number: QTBUG-63992 Change-Id: I25a4470fe8d6a5b8b5039b3ed77321d24faa1707 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Skip tst_QWindow::spuriousMouseMove on WaylandJohan Klokkhammer Helsing2018-04-041-0/+2
| | | | | | | | | | | | | | | | | | As setting cursor position is not allowed on Wayland. Task-number: QTBUG-66824 Change-Id: I1f065b7072dff13b1ee8a4fc3ccec347e8d71ed1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-313-20/+21
|\| | | | | | | Change-Id: I33b47095efdfe0ba698c6a88ca41ec911f432208
| * Stabilize tst_QGraphicsProxyWidget::tooltip_basic()Friedemann Kleint2018-03-291-13/+18
| | | | | | | | | | | | | | | | | | | | Use QTRY_VERIFY instead of hard-coded wait for the tooltip to appear. Also use QTRY_VERIFY to verify that no top level widgets are left over to account for tooltips and effect windows. Change-Id: Ia9835fdc480c6abb034f6fc4ad3d6b32751ee536 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
| * qmake: make VFS aware of exact vs. cumulative evaluationOswald Buddenhagen2018-03-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | sync-up with qt-creator; no effect on qmake. comment on cherry-pick: this is actually a lot more than a cherry-pick, because the dual VFS needs to deal with the file ids which were concurrently introduced on the qmake side. Change-Id: I2c1eb16c97526fa275a1c6a2eae9266d385859ac (cherry picked from qtcreator/424639ecac9d2e404d2bfaff7f46b45ed98664b8) (cherry picked from qtcreator/a8010b0fff47d903d4a1f80e3adb1a2ef41beb33) Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: let QMakeVfs::readFile() report ENOFILE explicitlyOswald Buddenhagen2018-03-291-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when the QFile object is already constructed, querying whether the file exists is actually cheap, so do it right away instead of later on demand. that makes the calling code a bit cleaner. fwiw, that we need to explicitly query the file's existence at all is a result of QFile's completely useless error "codes" (which merely say which function failed, as if the caller would not know). Change-Id: Ifec39d05b1713d8128046f679287e510f10e45dc Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> (cherry picked from qtcreator/5ba32e3484ead2e35cc7732dcd59a97e7459dbfd) Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add wildcard-to-regexp support to QRegularExpressionSamuel Gaist2018-03-302-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method will make QRegularExpression on par with QRegExp and will allow to replace this class when a wildcard expression can be set through an API (e.g. QSortFilterProxyModel::setFilterWildcard). For other use cases, see QTBUG-34052. [ChangeLog][QRegularExpression] Implemented support for wildcard patterns. Warning: QRegularExpression might not give the exact same result as QRegExp as its implementation follows strictly the glob patterns definition for the wildcard expressions. Change-Id: I5ed4617ca679159430c3d46da3449f6b3100e366 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-303-1/+8
|\| | | | | | | Change-Id: If9cc79a7cc098104333821bc3b345f6890f01825
| * Blacklist tst_QDnsLookup::lookupKari Oikarinen2018-03-281-0/+2
| | | | | | | | | | | | Task-number: QTBUG-66311 Change-Id: I8b7536bc11763b8405ecbe5c86be94c2af036c6e Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * Blacklist tst_Gestures::customGesture on openSUSE and UbuntuKari Oikarinen2018-03-281-0/+4
| | | | | | | | | | | | | | | | | | Has been flaky on those platforms in CI. Task-number: QTBUG-67254 Task-number: QTBUG-66216 Change-Id: Ia1a718a23b1992fcc0e85bf49b714bc43acc4ce2 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * tst_QLocalSocket: Only expect debug messages if debug level is enabledKari Oikarinen2018-03-281-1/+2
| | | | | | | | | | | | | | | | Otherwise the ::debug() test fails when a build does not print qDebug() messages. Change-Id: I3f3c4b3c7d74004abe5ed8d7ac52164d4f88ef1f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-03-2815-226/+307
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_mouse.mm src/testlib/testlib.pro Change-Id: Ia0ce4243418fe6a485b0f290c67bd433b3b04ff2
| * sqlite: Support using execBatch() with duplicated named placeholdersAndy Shaw2018-03-271-58/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also expands the tst_qsqlquery::batchExec() test to account for this case and generally test the functionality. In addition it is made to be more robust to avoid any discrepencies with the testing data. The test in general is also cleaned up to enable more of it being tested with the different database drivers where possible. An expected fail is added for MySQL due to the fact that it has a bug where null timestamp entries are being converted to the current datetime when adding it as a bind value. Change-Id: I0061bd1c69ae35b4858afc49420f13ce59cf48ae Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * Fix QPainter save/restore of clipping enabled stateEirik Aavitsland2018-03-261-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Clipping enabled state would not always be correctly restored for the raster engine (other engines work fine). The raster engine's QClipData object is sometimes shared between painter state objects on the save/restore stack. QClipData has its own enabled flag, and this could then come out of sync. Fix by making sure we sync the enabled state on restore. Task-number: QTBUG-58789 Change-Id: I81e6254ebb93df6e153bbef58e32a885273e3224 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Animation: Fix case where QEasingCurve::valueForProgress returns nanSvenn-Arne Dragly2018-03-261-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we would divide by zero in BezierEase::findTForX if factorT3 was zero when solving the cubic equation. This change fixes the problem by adding solutions for the special cases where the cubic equation can be reduced to a quadratic or linear equation. This change also adds tests that cover cases where the equation becomes quadratic, linear or invalid. Task-number: QTBUG-67061 Change-Id: I2b59f7e0392eb807663c3c8927509fd8b226ebc7 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * fixup oversight in rvalue overloads of operator+=() and operator<<()Eric Lemanissier2018-03-262-9/+73
| | | | | | | | | | | | | | ammends 4dee5446bee9c7417bf6f5dc44294a0b7238a9ba Change-Id: Ia0ca27644eb71815a93d6e76681b8a9e61a4e7ab Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Remove CMake code for CMake < 3.1Kevin Funk2018-03-244-125/+4
| | | | | | | | | | | | | | | | | | This removes the following functions from Qt5CoreMacros: - qt5_use_modules(...) Task-number: QTBUG-63519 Change-Id: I59769060a3a93686bf319b558c0ede55755fdb70 Reviewed-by: David Faure <david.faure@kdab.com>
| * tst_QWinEventNotifier: fix flakinessAlex Trotsenko2018-03-231-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | disableNotifiersInActivatedSlot(disable_signaled2) fails, if a signaled state of the event #2 is detected prior to the event #1. In this case, we get a timeout on waiting for event #1 which was disabled by the first notification. So, accept a disabled state of the notifier in condition for successful exit from the loop. Change-Id: I8a2fe76f8ec9362556d1ca1fe0be39a93ed58977 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Blacklist tst_QProcess::softExitInSlots on WindowsKari Oikarinen2018-03-231-0/+3
| | | | | | | | | | | | | | | | Task-number: QTBUG-66903 Task-number: QTBUG-66216 Change-Id: I4a36d6f4b980f016e11fd7a8840dbc60a2964e83 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * Stabilize tst_QGraphicsView::acceptMouseDoubleClickEventKari Oikarinen2018-03-221-18/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test has been flaky on openSUSE in CI. The problem was that the window is sometimes resized or removed while processing events after adding the rectangle item to the QGraphicsScene. When the same mouse event is reused again, it uses wrong screen coordinates. QGraphicsScene handling of mouse events then looks for items under cursor at the wrong coordinates, does not find any items and thus doesn't accept the mouse event. Fix by using QTest API for simulating mouse events. Also wait for changed signal rather than blindly running one iteration of event loop. Task-number: QTBUG-67212 Task-number: QTBUG-66216 Change-Id: I968f9470c6f8803d01cebeda6f12ad76b4fd5293 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * Make sure $$relative_path() uses an absolute path as its first argEdward Welbourne2018-03-221-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to QTBUG-61373, this qmake function was called with /usr/local/5.10.1 as baseDir, which isn't absolute, leading to an assertion failure. We could raise the error within qmake but it proved easier to simply resolve any non-absolute baseDir using PWD, before trying to use it as an absolute path. Did the same for $$absolute_path(). Documented both. Adjusted the assert that caught this to report any non-absolute path that upsets it. Added simple tests, fixed an existing test. Task-number: QTBUG-66156 Change-Id: Icfef2e2f5b236e071177c9beffa38d71bf404292 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Clean up the moc "no-keywords" testUlf Hermann2018-03-212-11/+14
| | | | | | | | | | | | | | | | | | | | | | We can use the QT_LIB_FOO #defines instead of our own WITH_FOO ones to determine if a library is available. Also, it doesn't currently make sense to refer to libraries which are not part of qtbase here. We might add that in the future, but QtScript (being deprecated) is probably not the first one we should add. Change-Id: I7f2397ca5499ba6003088478161182e960e815fb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | testlib: Ignore line locations from TAP reporter when running selftestsTor Arne Vestbø2018-03-271-1/+3
| | | | | | | | | | | | | | | | This is what the other reporters also do, in various forms. Task-number: QTBUG-67351 Change-Id: I16f2c4e0991176145ee0fbcbbfeeda071603a3c2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Allow QWinEventNotifier to coexist with waiting functionsAlex Trotsenko2018-03-271-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many subclasses of QIODevice have a functionality to block execution until some asynchronous I/O operation completes. In case we are using QWinEventNotifier, a typical reimplemented waitFor{ReadyRead |BytesWritten}() function could look like: if (WaitForSingleObject(notifier.handle(),...) == WAIT_OBJECT_0) { notifier.setEnabled(false); ResetEvent(notifier.handle()); bool res = GetOverlappedResult(...); ... return true; } Despite the fact that the operation ends synchronously, it leaves the notifier in a state that indicates it has received the event, so its next call to setEnabled(true) will produce a fake notification. So, we should reset a notifier's history before enabling it again. Change-Id: I62a9dd809ce6a7a40e9d8038f2a49299b36f8142 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add QTimer::connectTo(), a shorthand way of connecting to timeout()Sergio Martins2018-03-251-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of Qt classes where you almost always use the same signal, for example QTimer::timeout, QPushButton::clicked, and QAction::triggered. Simply doing timer.connectTo([]{}) is much more convenient, less tedious and even fun. Not overloading connect() as it would be confusing to see the receiver as first argument. And not naming it onTimeout, as that's a popular way of doing it in other frameworks. People would assume you could use on* with any signal. If we ever have on* it should be all or nothing. [ChangeLog][QtCore] Added QTimer::connectTo(), a shorthand way of connecting to the timeout() signal. Change-Id: Ida57e5442b13d50972ed585c3ea7be07e3d8e8d2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Allow adaptive decimal stepping for QSpinBox and QDoubleSpinBoxHarald Nordgren2018-03-222-0/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the feature of adaptive decimal step sizes for the QSpinBox and QDoubleSpinBox. By performing a calculation in QAbstractSpinBox::stepBy() we continuously set the step size one power of ten below the current value. So when the value is 1100, the step is set to 100, so stepping up once increases it to 1200. For 1200 stepping up takes it to 1300. For negative values stepping down from -1100 goes to -1200. It also works for all decimal values. 0.041 is increased to 0.042 by stepping once, and so on. The step direction is taken into account to handle edges cases, so that stepping down from 100 takes the value to 99 instead of 90. Thus, a step up followed by a step down -- or vice versa -- lands on the starting value; 99 -> 100 -> 99. Setting this property effectively disregards singleStep, but preserves its value so that it takes effect again when adaptive decimal step is disabled. Adaptive decimal step allows values to be easily set to reasonable levels. If the spin box value is 12000, changing to 13000 often makes more sense than to 12001. The feature is turned off be default, when single stepping is desired. The accelerated property allows values to be changed quickly, as well, but it is imprecise. Holding down the button makes it hard to land on an even thousand, like 12000 or 13000. Often you end up somewhere nearby and would need a second adjustment to get to an even hundred or thousand. [ChangeLog][QtWidgets] Add option of adaptive decimal step size for QSpinBox and QDoubleSpinBox. Change-Id: I9f286479b821e240c8ea05c238932fc128c582bb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-217-308/+430
|\| | | | | | | Change-Id: I35a6555e3885e489f88aa9b4b0142e1017f7a959
| * Switch lancelot from QRegExp to QRegularExpressionsAllan Sandfeld Jensen2018-03-202-283/+288
| | | | | | | | | | | | | | | | They are faster, and using them makes it paint commands be the most CPU intensive part of lancelot instead of regular-expression matching. Change-Id: Ifabf1081c48a83ce089660049051428fd3a43042 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * QSemaphore: fix deadlock when the woken up thread wakes up anotherThiago Macieira2018-03-191-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | When the thread that got woken up by release() is supposed to release() to wake up another thread, we were deadlocking. This happened because we cleared the bit indicating that there was contention when the first release(). Instead of storing a single bit, we now store the number of threads waiting. Task-number: QTBUG-66875 Change-Id: I72f5230ad59948f784eafffd15193873502ecba4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * tst_QOpenGLWindow: Move resizing to separate testJohan Klokkhammer Helsing2018-03-191-2/+23
| | | | | | | | | | | | | | | | | | | | Resizing is broken on Wayland EGL on Intel Mesa. Move resizing into a separate test and skip it on Wayland it until it's fixed in Mesa. Task-number: QTBUG-66848 Change-Id: I9450a5a588b0f5d8f0bd0210aae2dc72aa48d622 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * QPixmap don't assume QPlatformScreen::format is opaqueJohan Klokkhammer Helsing2018-03-191-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QRasterPlatformPixmap::systemOpaqueFormat returned QPlatformScreen::format without checking that the format was actually opaque. This caused several QPixmap tests to fail on Wayland because Wayland compositors don't communicate the native format of the screen, just a list of supported pixel formats, so we just return ARGB32_premultiplied in QWaylandScreen::format(). Rename the method systemOpaqueFormat to systemNativeFormat since that's how it's used most of the time. And do a conversion when we actually care whether the format is opaque or not. Task-number: QTBUG-51748 Change-Id: I47dc1c3f185fb802016ca361206d47d02e8d3cf1 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * MySQL: Fix testsAndy Shaw2018-03-172-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following: - tst_QSqlDatabase::recordMySQL() to account for performance improvements done for small integral types - tst_QSqlQuery::nextResult() so that NUMERIC results are seen as doubles - tst_QSqlQuery::timeStampParsing() so that MySQL accepts the CREATE TABLE statement Change-Id: I68fb1d06dac12d500bb4596463f5bdd65cc9c226 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * sqlite: Prevent a crash when sqlite does not detect any parametersAndy Shaw2018-03-171-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | When using a virtual table inside a SQLite database it is possible that it does not report the right number of parameters. Therefore we need to account for this case to prevent it from crashing when trying to bind parameters it thinks does not exist. Task-number: QTBUG-66816 Change-Id: I3ff70bb1fe73091f43c3df53616f75858e451cfd Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>