summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into devOswald Buddenhagen2017-08-028-41/+100
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/widgets/qdockarealayout.cpp src/widgets/widgets/qmainwindow.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmainwindowlayout_p.h tests/auto/corelib/tools/qlocale/tst_qlocale.cpp tests/auto/other/macnativeevents/BLACKLIST tests/auto/widgets/widgets/qmenu/BLACKLIST Change-Id: Ic8e724b80a65e7b1af25511b0e674d209265e567
| * Refactor tst_qdir::entryList()Friedemann Kleint2017-07-291-30/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | Split the test in two: one test that requires the symlinks and test files and one that does not need them. In the test with test files, verify each step and the deletion of the files. Task-number: QTBUG-58654 Task-number: QTBUG-50835 Change-Id: I14de57ce7a1df2d834d5a7565c804dead1d89088 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Revert "Make QFile::open fail when using an invalid file name"Thiago Macieira2017-07-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 346cd79192ef71afa572812e17f1d422594651a0. The bug report was incorrect, since the suggested file name is actually valid, it just happens to name an Alternate Data Stream (ADS) "20:803Z.txt" in file "testLog-03". [ChangeLog][QtCore][QFile] Reverted an incorrect change from Qt 5.9.0 that forbade the creation and access to Alternate Data Streams on NTFS on Windows. This means that file names containing a colon (':') are allowed again, but note that they are not regular files. Task-number: QTBUG-57023 Change-Id: I81480fdb578d4d43b3fcfffd14d4f2147e8a0ade Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
| * Return "en" for QLocale::c().bcp47Name()Jüri Valdmann2017-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QLocale::c().bcp47Name() returns "C" which, according to [BCP47], is not a valid language tag. In particular it does not conform to the ABNF grammar in section 2.1 which specifies a minimum length of 2 characters for all language tags. [BCP47]: https://tools.ietf.org/html/bcp47 This patch changes the return value to "en" seeing as the documentation for QLocale::Language states that the C language is identical in behavior to English. Task-number: QTBUG-61949 Change-Id: I2a381def8fb7156467e01d105da92bb1f4821204 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * Add test for QLocale::bcp47Name()Jüri Valdmann2017-07-261-0/+23
| | | | | | | | | | | | | | Task-number: QTBUG-61949 Change-Id: I34fece0441afb1e69ea84ae59b90c5e2b7cf133f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Use QSharedPointer::create() moreMarc Mutz2017-07-194-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the result of running the (experimental) clang-tidy check qt-modernize-qsharedpointer-create Discarded changes: - tst_qsharedpointer.cpp: not sure we want these replacements there (→ separate change) - tst_collations.cpp: hit in a template specialization that is instantiated with both QSharedPointer and QSharedDataPointer. Change-Id: I203c2646e91d026735d923473af3d151d19e3820 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix race condition in the processEvents testMorten Johan Sørvig2017-07-191-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test verifies processEvents(WaitForMoreEvents) behavior by first processing all pending events (in a loop) and then verifying that a following processEvents call actually waits. But there is no guarantee that the OS won’t introduce more events after the first loop has completed. This does indeed seem to happen on recent versions of macOS. Change the test to not require that the processEvents call blocked and de-blacklist. Task-number: QTBUG-61131 Change-Id: Ic8fa74a6085165442791264f6f137a2fa6083138 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Add a date-time test for time-zones near epoch and odd transitionsEdward Welbourne2017-07-311-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | Check we do handle DST after epoch and don't before. Check we do notice various unusual transitions. Check we do handle non-whole-hour-offset zones. (Unfortunately, MS-Win lacks data for some of the zones and is wrong about the two date-line crossers, so we skip those for it.) Change-Id: If420d61b9db7f914ca25c22297c16e917ad2307a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Support more than 62 instances of QWinEventNotifier, take 2Joerg Bornemann2017-07-301-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWinEventNotifiers were limited to 62 instances, because of WaitForMultipleObject's limitation to MAXIMUM_WAIT_OBJECTS - 1 handles. Use the RegisterWaitForSingleObject API which does not have this restriction and executes waits in threads managed by the system. A central manual reset event per event dispatcher is signaled in the RegisterWaitForSingleObject callback and waited for in the event loop. Task-number: QTBUG-8819 Change-Id: I3061811c18e669becf9de603bbdd7ba96e4d2fcd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Add test for time zone transitions near the epochEdward Welbourne2017-07-281-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This needs a zone with transitions near the epoch; and the only CET with DST that winter was Italy (copied by Malta), for which the Olson database had a recent (2016) correction to its data, for that winter. That means we get inconsistent results on O/Sen of different ages. So add a separate testEpochTranPrivate(), alongside testCetPrivate(), and test it with America/Toronto. (Unfortunately, MS-Win gets the date wrong on the first transition after the epoch, so we have to code round that.) Since information before the epoch isn't reliably available, only test the search backwards if nextTransition does find something before it. (We can safely assume all real transitions happened since 1601; non-celestial time-keeping wasn't accurate enough, before that, for anyone to synchronize with anything but celestial time.) Change-Id: I984b46938a2805b93bb2afd6855e317b5d66b386 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix use of getentropy on larger blocksThiago Macieira2017-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | Found while working on suppressing the warning about the return value (which is either 0 or -1) was being ignored. Task-number: QTBUG-61968 Change-Id: I02d22222fff64d4dbda4fffd14d148b1724547ca Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tst_QTimeZone: improve readability of code and failure reportsEdward Welbourne2017-07-251-36/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QCOMPARE(,) reports two 12-digit numbers, it's not always immediately obvious what the difference is (much less what 1/3600000 of it is); nor is it obvious that (or why) a given 12-digit number is in fact correct. In contrast, our eyes can make sense of a QDateTime's reported value quite well, enabling us to see what's different; and it's possible to at least confirm the plausibility of 2-or-3 am on a spring or autumn day at a plausible transition (or even to confirm it exactly by consulting suitable web-sites). Also document the actual transition happening in each case (since I *did* consult a suitable web-site). So prefer to QCOMPARE(,) two QDateTime values instead of two 12-digit qint64s. Where a that would be unsuitable, at least compare the difference to zero, to make the error easier to understand (except when one of the twelve-digit numbers consists entirely of 9s; that, for once, actually is easy to see). Write various multiples of 3600 as the relevant intelligible whole number times 3600, rather than premultiplying, to make it obvious to reders what's going on. None of this changes what is actually tested. Change-Id: I488e751283a55d4623c93612af13ad631144900d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix a loop-test and the bogus data the loop expectedEdward Welbourne2017-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | A loop initialized i = 0 and used i > 2 as its condition; it didn't get very far. Consequently, the test it was in never checked whether CET's 2011 transitions happened at the times expected - which they didn't, as the times in question were in fact the times at which Pacific/Auckland had its transitions that year. Change-Id: I94d1f8df615c5bcfe48e73d41b4c7faf2beccb96 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Improve symmetry of variant json conversionsAllan Sandfeld Jensen2017-07-251-21/+49
| | | | | | | | | | | | | | | | Make QVariant::toJsonValue do conversions as well as QJsonValue::fromVariant. Change-Id: I175d43677061470691e2e0104a800be355fbbd3d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.9' into devGabriel de Dietrich2017-07-136-17/+38
|\| | | | | | | | | | | | | Conflicts: src/widgets/widgets/qmainwindowlayout.cpp Change-Id: I306b4f5ad11bceb336c9091241b468d455fe6bb6
| * Handle conversion and comparison between qvarianthash and qvariantmapAllan Sandfeld Jensen2017-07-111-0/+8
| | | | | | | | | | | | | | | | | | QVariant claims to be able to QVariantHash and QVariantMap, but the actual conversion implementation is missing. Task-number: QTBUG-61471 Change-Id: I0cba74642aa77dc423effed289bc7619922a89eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QLocale: fix handling of milliseconds in string format and documentThiago Macieira2017-07-072-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QLocale] Fixed the conversion of QTime to string form and parsing from string form to always treat the value as the decimal fraction of the seconds component. That is, the string format ".z" produces/parses ".2" for 200 milliseconds and ".002" for 2 milliseconds. Use of "z" or "zzz" is discouraged outside decimal fractions to avoid surprises. Task-number: QTBUG-53565 Change-Id: Ia19de85ad35e4eb7bb95fffd14792caf9b4a5156 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * QFileSystemWatcher/Windows: Recreate handle for filesFriedemann Kleint2017-07-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindowsFileSystemWatcherEngine uses one change notification per directory to watch directories or files within that directory. Adding files and their directories in a sequence caused the value in QWindowsFileSystemWatcherEngineThread::HandleForDirHash to be overwritten. Relax the check for the flags (watcher attributes) to use >= and recreate the change notification of a directory should its flags be insufficient. This triggers when a file is added after its directory since files require more attributes. Task-number: QTBUG-61792 Change-Id: I371a72f1934fa82c53aaf84beb907825031f1c81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QProcess/tst_QFile: Extend blacklisting to MSVC2017Friedemann Kleint2017-07-052-3/+6
| | | | | | | | | | | | | | | | | | | | Extend the blacklisting introduced by 0ebebeb983d381010fae710aee60d8550d9be4f3. Task-number: QTBUG-48455 Task-number: QTBUG-48504 Change-Id: Idf44948a5ede433435a8d0b61fef6413bb0b69bc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tst_QDateTime::toTimeSpec(): verify round-tripping works cleanlyEdward Welbourne2017-07-071-0/+4
| | | | | | | | | | Change-Id: I811fa4249dae923e5e4e434910d8bf96c15bff25 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tst_QFileInfo: generalize old-file testEdward Welbourne2017-07-071-49/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Now that QFileDevice::setFileTime() provides a portable way to prepare our test file, we can verify QFileInfo does handle the distant past, notably including negative time_t values. The old MS-specific code used a time back in 1601, which we can't hope to support cross-platform, so use one in 1901 that's a little inside the range of 32-bit time_t. Task-number: QTBUG-47985 Change-Id: I2de3e79d8c7864221f92395813b63f373e4d8a3b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Q(Date|Time)+: in QDebug's <<, handle invalid explicitlyEdward Welbourne2017-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | The output didn't previously make clear that the datum was invalid. It's now explicitly invalid. At the same time, use QDebug's space() and nospace() methods to make spacing choices explicit. Revised a QDate test to match. Change-Id: I4699f5897530b4caa31c22fdb07de149832b30f4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Clarify tst_QDateTime::fromStringToStringLocale() using a macroEdward Welbourne2017-07-071-7/+9
| | | | | | | | | | | | | | | | | | | | | | Separate the part varying between tests from the common form of all the tests, so the reader can see the common pattern and know for sure that there's not a typo or copy-and-paste glitch. Change-Id: I3145a26ab42c104eb27756d906ac87f937024bad Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make calling QCoreApplication::translate() thread-safeAram So2017-07-061-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed crash on QCoreApplication::translate() call from qqmlThread while QCoreApplication::{install,remove}Translator() is called from the GUI thread. [ChangeLog][QtCore][QCoreApplication] Calling QCoreApplication::translate() is now thread-safe. Task-number: QTBUG-57095 Change-Id: Ie5340a42040a829f311c01332e05d4bbaf60462c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-062-7/+62
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I43531e087bb810889d5c1fbfcdffb29b78804839
| * Fix parsing of 0E+1 and 0E-1 (capital 'E')Thiago Macieira2017-07-031-1/+57
| | | | | | | | | | | | | | | | | | | | Since the result is an actual zero, this section of code looking for underflows kicks in. But we forgot to take the capital letter into account when parsing the number. Task-number: QTBUG-61350 Change-Id: Ia53158e207a94bf49489fffd14c6abbd21f0bac0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Fix offset calculation to be valid at the correct timeEdward Welbourne2017-07-031-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QLocale::macDefaultLocale() was determining local-time's current offset from UTC and using it when working out what to expect the offset at 1:2:3 today to be. When a transition happens after 1:2:3 on its day (which is usual for DST changes in Europe), this lead to using the new offset to test a time before the transition; the test was thus wrong and failed. Use the time to be tested (and current date) to compute the offset to use, instead of using the current date-time. Change-Id: I1c02a5579bca859e1d1aeb4f45b24871a08287af Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Remove remains of wince in .pro filesFriedemann Kleint2017-07-031-1/+1
| | | | | | | | | | | | | | | | Task-number: QTBUG-52590 Change-Id: I444fc9eedc8a8e4ad2ede224d66e7c410bedbb48 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-0412-9/+39
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/util/util.pri tests/auto/corelib/thread/qthread/qthread.pro tests/auto/corelib/thread/qthread/tst_qthread.cpp Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
| * Skip QThread stress test on QemuSami Nurmenniemi2017-07-022-0/+8
| | | | | | | | | | | | | | | | | | | | Qemu uses some memory for each generated thread. This test creates > 80000 threads and consumes about 10Gb of memory which is too heavy for a VM. Task-number: QTBUG-59966 Change-Id: I1bb8a0d7955778f5201948b41befcb9f1f391514 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix some MSVC warnings in testsFriedemann Kleint2017-06-282-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | tst_qvariant.cpp(80): warning C4309: 'initializing': truncation of constant value tst_qvariant.cpp(4635): warning C4309: 'initializing': truncation of constant value tst_qbytearray.cpp(1438): warning C4267: 'argument': conversion from 'size_t' to 'uint', possible loss of data tst_qbytearray.cpp(1440): warning C4267: 'argument': conversion from 'size_t' to 'uint', possible loss of data http2srv.cpp(64): warning C4018: '<=': signed/unsigned mismatch tst_qinputdialog.cpp(352): warning C4804: '<=': unsafe use of type 'bool' in operation Change-Id: Id012d88b7b20c5c9f128f2ef53753cc1d479f358 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QSharedPointer: Terminate hanging qmake-processesFriedemann Kleint2017-06-281-0/+2
| | | | | | | | | | Change-Id: I580ff3ccbecba81c09ce3fc3e082b906f956171d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Merge remote-tracking branch 'origin/5.9.1' into 5.9Tor Arne Vestbø2017-06-252-0/+6
| |\ | | | | | | | | | Change-Id: Ie585425d2d8d05c6ead283b70b88b00e1e3dc1fe
| | * Blacklist tst_QParallelAnimationGroup::deleteChildrenWithRunningGroup()J-P Nurmi2017-06-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | It is flaky on macOS 10.12. Task-number: QTBUG-61500 Change-Id: I3dfb6979808dec3a20896c2579dd1f5124c94a70 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Skip unreliable tst_QTimer::moveToThread() on macOS 10.12J-P Nurmi2017-06-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Randomly timeouts in the CI. Task-number: QTBUG-59679 Change-Id: I28410b747b2033fc0ef6286a11c88cd0c07eb247 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| * | winrt: Fix tst_qurlOliver Wolff2017-06-191-5/+1
| | | | | | | | | | | | | | | Change-Id: Ia7e33e3892f888ead1357f5cd522480f514421e3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | winrt: Fix tst_qtextstreamOliver Wolff2017-06-192-1/+3
| | | | | | | | | | | | | | | Change-Id: I5e8076a344a50f70e9618ff7b2e9258182601957 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | Fix tst_qfile::size for configurations using builtin test dataOliver Wolff2017-06-192-0/+16
| |/ | | | | | | | | | | | | | | As the files are packaged into the binary, they have to be extracted, before they can be ::open'ed. Change-Id: Ie83086a2b9a73b6b0de462bdb52a71bb277ae06f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | QRandomGenerator: use getentropy on Linux & OpenBSDThiago Macieira2017-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The getentropy function, first found in OpenBSD, is present in glibc since version 2.25 and Bionic since Android 6.0 and NDK r11. It uses the Linux 3.17 getrandom system call. Unlike glibc's getrandom() wrapper, the glibc implementation of getentropy() function is not a POSIX thread cancellation point, so we prefer to use that even though we have to break the reading into 256-byte blocks. The big advantage is that these functions work even in the absence of a /dev/urandom device node, in addition to a few cycles shaved off by not having to open a file descriptor and close it at exit. What's more, the glibc implementation blocks until entropy is available on early boot, so we don't have to worry about a failure mode. The Bionic implementation will fall back by itself to /dev/urandom and, failing that, gathering entropy from elsewhere in the system in a way it cannot fail either. uClibc has a wrapper to getrandom(2) but no getentropy(3). MUSL has neither. Change-Id: Ia53158e207a94bf49489fffd14c8cee1b968a619 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Revert "Support more than 62 instances of QWinEventNotifier"Liang Qi2017-06-281-88/+0
| | | | | | | | | | | | | | | | | | | | It breaks sth in QLocalSocket which is used in QtRemoteObject. This reverts commit 5c6210e3452f78cab2f58887e747eb5cb2501f70. Task-number: QTBUG-61668 Change-Id: Ib11890923773496e5d998b7709ef93b0a839a759 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | QSFPM: Avoid following a reset with unnecessary layoutChangedStephen Kelly2017-06-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the pattern used to guard Private::sort() calls elsewhere in the class. Because QAbstractItemModel::sort() is not called in the unit test, the content is not sorted after resetting. [ChangeLog][QtCore][QSortFilterProxyModel] QSortFilterProxyModel now does not emit an unnecessary layoutChanged() following a model reset. Change-Id: I0a36c7fbb172bdd06ecddb489c5595debbef6cb9 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | Move qle_bitfield to qendian_p.hAllan Sandfeld Jensen2017-06-272-1/+85
| | | | | | | | | | | | | | | | | | Makes the qle_bitfield template more generic and moves it to qendian_p.h It is also hardened to be more reliable. Change-Id: I53214ec99cceee4f5e8934ae688c99e555a5fb42 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Improve rounding of QRect::toRectAllan Sandfeld Jensen2017-06-261-0/+32
| | | | | | | | | | | | | | | | | | | | Avoid the dimensions of the rounded QRect being off by more than one pixel. This ensures the aligned containing rect also contains the rounded rect. Task-number: QTBUG-56420 Change-Id: Ib79110e51ab80de2dc83d01ea83fc5fbf3852e75 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Support more than 62 instances of QWinEventNotifierJoerg Bornemann2017-06-261-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWinEventNotifiers were limited to 62 instances, because of WaitForMultipleObject's limitation to MAXIMUM_WAIT_OBJECTS - 1 handles. Use the RegisterWaitForSingleObject API which does not have this restriction and executes waits in threads managed by the system. A central manual reset event per event dispatcher is signaled in the RegisterWaitForSingleObject callback and waited for in the event loop. [ChangeLog][QtCore][QWinEventNotifier] QWinEventNotifier is not restricted to 62 instances anymore. Task-number: QTBUG-8819 Change-Id: I2c749951453a4b699cc50dada0d6017440b67a4a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | QRandomGenerator: don't internally rely on QT_HAS_INCLUDEThiago Macieira2017-06-201-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC didn't support it until version 5 or 6, so add configure tests for both <random> and <sys/auxv.h>. Normally I'd say "upgrade", but this is too low-level and important a feature. There's a good chance that all our supported compilers have <random> anyway. As for <sys/auxv.h>, it's present on Glibc, Bionic and MUSL, but I don't see it in uClibc (AT_RANDOM is a Linux-specific feature). Change-Id: Ia3e896da908f42939148fffd14c5b2af491f7a77 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | QDateTimeParser: implement parsing of time-zone specifiersEdward Welbourne2017-06-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The serialization of date-times understood time-zones (indicated by a 't' in a format string) but the parsing didn't (so viewed the 't' as a literal element in the format string, not matched by the actual zone it needs to parse), although some tests expected it to. This made round-trip testing fail. Implemented parsing of time-zones. Re-enabled the formerly failing tests. [ChangeLog][QtCore][QDateTime] Added support for parsing of time-zones. Task-number: QTBUG-22833 Change-Id: Iddba7dca14cf9399587078d4cea19f9b95a65cf7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Be (somewhat more) consistent about the value of piEdward Welbourne2017-06-201-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use M_PI (and friends), where possible, in favor of hand-coded approximations of various (in)accuracies. Where that's not available (e.g. fragment shaders), use the same value that qmath.h uses for M_PI, for consistency. Replaced math.h with qmath.h in places that defined a fall-back in case math.h omits it (it's not in the C++ standard, although M_PI is in POSIX); or removed this entirely where it wasn't used. Reworked some code to reduce the amount of arithmetic needed, in the process; e.g. pulling common factors out of loops. Revised an example's doc to not waste time talking about using a six-sig-fig value for pi (which we no longer do) - it really wasn't relevant, or anything to be proud of; nor did the doc mention its later use. Task-number: QTBUG-58083 Change-Id: I5a31e3a2b6a823b97a43209bed61a37b9aa6c05f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update CLDR to v31.0.1Edward Welbourne2017-06-201-6/+6
| | | | | | | | | | | | | | | | | | | | The formatting of times in Norwegian has changed to use colon rather than dot between hours, minutes and seconds: http://cldr.unicode.org/index/downloads/cldr-30#TOC-Other tst_QLocale gets a matching revision. Change-Id: I35a16080def5fbadd62144a0b44be8110b9be29b Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Add QLocale::formattedDataSize and consolidate use casesShawn Rutledge2017-06-201-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It should be easier to translate sizes in bytes to human-readable strings consistently rather than having to repeat this code (and the string translations) in various places. The FileDialog in QtQuick.Controls has a use for this, too. [ChangeLog][QtCore][QLocale] Added QLocale::formattedDataSize() for formatting quantities of bytes as kB, MB, GB etc. Done-with: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I27bca146c3eba90fa7a5d52ef6626ce85723e3f0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-198-34/+125
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f