summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation when using -no-mimetype-databaseHelio Chissini de Castro2020-11-061-0/+4
| | | | | | | Change-Id: I4f706a26d73f61e4a6022338e0fc0be48627e4a1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com> (cherry picked from commit c67ea659e5447fc2d898dbb78189bfe22893522c)
* Deprecate old aliases for two countries and several languagesEdward Welbourne2020-10-293-25/+23
| | | | | | | | | | | [ChangeLog][QtCore][QLocale] Deprecated several Language and Country aliases, ready for removal in Qt 6.0, in favor of their newer names. Task-number: QTBUG-84669 Change-Id: Iebaa0a5a77bfa12f7014de53fab4a25b5f1cc92c Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 2c4874be40aa40b698315cac0ad768e5c650a740) Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Update CLDR to v37, adding Nigerian Pidgin as a new languageEdward Welbourne2020-10-296-3977/+4124
| | | | | | | | | | | | | | | | | | | Routine update by running scripts, ignoring clang-format's extensive grumbles. Added notes to util/locale_database/'s README, on the need for that, and enumdata.py, on when to add entries. As usual, several new locales are also added, for existing languages, territories and scripts. [ChangeLog][QtCore][QLocale] Updated to new version of CLDR (the Unicode Consortium's Common Locale Data Repository) v37. Various Adlam-script locales are dropped due to its use of a number system unsupported by 5.15's QLocale. Support for these locales shall be restored in Qt 6. Task-number: QTBUG-84669 Change-Id: Ib76848bf4bd1219180faf46820077e8d8049a4e3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit cb23d50f38ec9d1daed570aa2b89e6d4b3f45c3f)
* Deprecate ordering on QItemSelectionRangeEdward Welbourne2020-10-292-3/+7
| | | | | | | | | | | | | | | | Ready for removal at Qt 6, as advocated in a ### comment. It was never done consistently with operator==(), apparently, and should not be needed in any case. [ChangeLog][QtCore][QItemSelectionRange] Ordering of QItemSelectionRange is now deprecated. It was not consistent with equality and should not be needed. Task-number: QTBUG-85700 Change-Id: Ie99294bd7fc18f2a497598ae08840886b0a6d62d Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 29c113d912fdf96f99503c9635bf89c4cabcc6fb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Deprecate QLocale::Language entries that no locale data relates toEdward Welbourne2020-10-282-86/+132
| | | | | | | | | | | | | | | | | | These are languages for which CLDR does not even recognize the claimed language code (three-letter codes except for bh = Bihari, which might be an old name for bho = Bhojpuri, which CLDR does give, but provides no locale data using it). [ChangeLog][QtCore][QLocale::Language] Many obsolete language names are now deprecated in preparation for removal at Qt 6.0. No data has been available for any locale using these languages since CLDR v29 (at least; Qt now uses v37). Task-number: QTBUG-84669 Change-Id: I2bf2d49211ade7cc511277f35fb1a247e7048b31 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 2575a8ced39b607ed320ed230c83119eaad4b33b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix locale look-up when language is unspecifiedEdward Welbourne2020-10-261-5/+15
| | | | | | | | | | | | Looking up a locale with unspecified language got the C locale, due to taking a short-cut that would make sense if no locale were found for a specified language. Stop assuming the language was specified. Task-number: QTBUG-74287 Change-Id: I8b3c232da584fb187ebb6c190729c377d0083808 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit e69b81101c6e09d1c1b81d50ea868a8625c9f248) Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Revert changes in strto(u)ll.c to avoid integer overflowsRobert Loehning2020-10-261-0/+4
| | | | | | | | | Found in oss-fuzz issue 26045. Change-Id: Id9eac1b4f67ad9bbe2d92dd69cd03338a6ced74e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 2096400d6e8249e49df049f9600073fb2219c97a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QLocale's findLocaleDataById(): skip likely sub-tag look-upEdward Welbourne2020-10-231-4/+1
| | | | | | | | | | | | | | It was always called in pairs, first with likely sub-tags added, then with the base that started from. So doing a likely sub-tag lookup inside the function was redundant for the former while making the latter redundant - and it's needed. Task-number: QTBUG-84669 Change-Id: I18bf1d4976a51d9436efd20d1a84a36cfc60f618 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 55e16b25f52fdd1b945d3f94d79ce85d88cb69ec) Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QRectF/QPointF/QSizeF: document that operator== and != are fuzzyGiuseppe D'Angelo2020-10-233-8/+37
| | | | | | | | | | | This has been the case for a _very_ long time, and I can't believe this hasn't been documented anywhere. Change-Id: Ib157edf14e87a6f546c155496f70a760ab218cca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit cca62a7360a117880eea5821fd7403d68a1431c8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QStringView overloads to QRegularExpression::(global)Match()Lars Knoll2020-10-192-0/+63
| | | | | | | | Add these to simplify porting from Qt 5.15 to Qt 6. Task-number: QTBUG-86516 Change-Id: I39f9c61e66a8084c7a4a6c5424e5b1a0b09beeff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QESDP::take(): document that it doesn't derefGiuseppe D'Angelo2020-10-161-1/+4
| | | | | | | Change-Id: Iba6c1caf4a7681815559db7c06691d02108ae855 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit bc4bd3c1bcaa955d3fea86deef1d8098dfc682d8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Fix detach on bool check of QSharedDataPointer"Allan Sandfeld Jensen2020-10-151-1/+0
| | | | | | | | | | This reverts commit 20bcff105019ee5700575b77565bf3d90ea8b9bc. Reason for revert: Makes QSharedDataPointer comparisons ambiguous without overloading comparison operators Change-Id: I5ad36f39505490812675afc6a435f6c43b2c0d0d Fixes: QTBUG-87611 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add some missing QStringView overloads to QStringLars Knoll2020-10-152-0/+95
| | | | | | | | | | | | | | | | | | | These are added to aid writing portable code between Qt 5.15 and Qt 6. [ChangeLog][QtCore][QStringView] A couple of methods have been added to QStringView that make it easier to write code that is portable between Qt 5.15 and Qt 6. Those include QStringView::split(), QStringView::count(), number conversion methods (QStringView::toInt() and friends). A couple of overloads taking QStringView have been added to QRegularExpression (match() and globalMatch()) and QString (append(), prepend(), insert() and localeAwareCompare()). Fixes: QTBUG-86516 Change-Id: I98779217c7a4107fbe086f956d24b1ce059194d7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QStringView::count(...)Lars Knoll2020-10-153-0/+43
| | | | | | | | | | | Also this one as a porting aid towards Qt 6. The implementation is using QString to keep things simple. Task-number: QTBUG-86516 Change-Id: Ic033b8678c76a608af8acfc5fab547aeb159933e Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QStringView::split()Lars Knoll2020-10-154-0/+70
| | | | | | | | | | The implementation has to live in qstringlist.h and qregularexpression.h, as those classes are only forward declared in qstring.h. Task-number: QTBUG-86516 Change-Id: Ia9b3ff48999d1c2e7df905191ee192764b309d08 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix detach on bool check of QSharedDataPointerAllan Sandfeld Jensen2020-10-141-0/+1
| | | | | | | | | | We have a conversion to T* which would be triggered for a non negated bool check. Change-Id: I543c66de6b4da64a3a63ee9a438fab6adcc58052 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 182760e84d19df726418cb79da37636cdb6ff49d) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add toInt() and friends to QStringViewLars Knoll2020-10-123-0/+280
| | | | | | | | | | | | | The implementations are not trimmed for efficiency, but as a porting help for Qt 6. Because of that, they simply use the methods available in QString. Task-number: QTBUG-86516 Change-Id: I39ea04a6c96ca43f3a88a9be4e63a5dea4a4e479 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Loosen the API contract for QStringView::left() and friendsLars Knoll2020-10-122-9/+22
| | | | | | | | | | | | | Remove the assertions in QStringView::left() and friends and turn them into runtime bounds checking instead. This changes the behavior to be compatible with what we do in Qt 6 (see change d2833a3ce5af725d66ef9338f2a61b766dd3cb2d) and simplifies porting from QStringRef to QStringView. Task-number: QTBUG-86516 Change-Id: I28e3beb4f42c7b9dfc52813cbcfa322a3df5685a Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Deal with {und,ov}erflow issues in QLine's length handlingEdward Welbourne2020-10-092-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use std::hypot() instead of sqrt() of a sum of squares. This ensures length() can't be zero when isNull() is false. Use length() in QLine::setLength() rather than duplicating that. Clarify and expand some documentation; isNull() never said what constituted validity, nor did unitVector() mention that is should not be used on a line for which isNull() is true. Make clear that lines of denormal length cannot be rescaled accurately. Given that we use fuzzy comparison to determine equality of end-points, isNull() can be false for a line with displacements less than sqrt(numeric_limits<qreal>::denorm_min()) between the coordinates of its end-points (as long as these are not much bigger); squaring these would give zero, hence a zero length, where using hypot() avoids the underflow and gives a non-zero length. Having a zero length for a line with isNull() false would lead to problems in setLength(), which uses an isNull() pre-test, protecting a call to unitVector(). (It was already possible for a null line to have non-zero length; this now arises in more cases.) Tweaked QLine::setLength() to allow for the possibility that the unit vector it computes as transient may not have length exactly one. Add tests against {ov,und}erflow and divide-by-zero problems in QLine. This fixes two oss-fuzz issues: oss-fuzz-24561 and oss-fuzz-25178. Change-Id: I7b71d66b872ccc08a64e941acd36b45b0ea15fab Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> (cherry picked from commit 1c591fd9246ca776304a3c370dd2578bd886feac) Reviewed-by: Robert Loehning <robert.loehning@qt.io>
* CMake: Do not use versionless targets in examples (Qt Core)Kai Koehne2020-10-092-6/+6
| | | | | | | | | This is confusing, especially because it's not used in the whole snippet. Change-Id: Ibd59646da2c77ac19a38441021c5e99f52015c95 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 4de97909b20ca86145c4e8f6d33f12f193ec218e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QUrl::fromLocalFile: accept invalid hostnamesThiago Macieira2020-10-081-3/+11
| | | | | | | | | | | | | | | | | | | | QUrl hostnames must be compliant with STD3, but we must somehow accept file paths that begin with double slash but aren't valid hostnames. Because the file URI spec requires us to start with "file://" anyway, we can represent those with four slashes. Note that on Unix "//X/y" is a valid but local file path. If given to QUrl::fromLocalFile(), if the path at the root does parse as a hostname, we will still try to normalize (the above becomes "file://x/y"). [ChangeLog][QtCore][QUrl] Changed QUrl::fromLocalFile() to accept Windows UNC paths whose hostname component is not a valid Internet hostname. This makes QUrl able to accept extended-length paths (\\?\), device namespace (\\.\), WSL (\\wsl$), etc. Fixes: QTBUG-86277 Change-Id: I3eb349b832c14610895efffd1635759348214a3b Reviewed-by: David Faure <david.faure@kdab.com> (cherry picked from commit 97de53ee8cce3dc6347b08668f0de45e1000f01c)
* Fix use of \inheaderfileTor Arne Vestbø2020-10-071-1/+1
| | | | | | | Change-Id: Ib969d6cf23b874e873cfc82b1b19dff2a4fe5f8f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 539cd49cee388189793c4691c4ce904825e156b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix typo in snippetPaul Wicking2020-10-071-1/+1
| | | | | | Fixes: QTBUG-87259 Change-Id: Ife8d2a44e5a8641d42af7cc4bae3425c7ea9affb Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* QCalendar: fixup includesGiuseppe D'Angelo2020-10-061-1/+1
| | | | | | | | | Remove an unused one, and add a used one. Change-Id: Ic8b2fc7d0fa1e703b7cbbc622b98a626dd0f6ced Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f0162415f127c44126a33b94716a5163feb481ff) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Break out calendar backend-from-enum as a static functionEdward Welbourne2020-10-061-27/+38
| | | | | | | | | | | This lets the registry's populate() avoid recursing into constructors that are typically what (indirectly) called it. This, in turn, makes it possible to assert the constructor from enum gets what it expects. Change-Id: I190f9dcfe405e3ee1c6a3f0926fa33cf9ddf64e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 48cc034c3fad709e7c145a3793d6521b944b36c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QAIM docs: use \nullptr instead of 0Giuseppe D'Angelo2020-10-031-2/+2
| | | | | | | Change-Id: I30b541f28ba8271eb4234c7f642485a1614808bf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f478905068647495da04dcdb193457f2199835d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Reference proper SplitBehaviour enum in docsNicolas Fella2020-10-021-1/+1
| | | | | | | | | | QString::SkipEmptyParts is Qt::SkipEmptyParts now. Change-Id: Ie351bbe9d2350e771f821a9f0bc9f581be5b0022 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit 2d8d8ab8c2a1386878429f57f6069d2f86f7708b) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix race condition in QThreadPool::clearAllan Sandfeld Jensen2020-10-011-3/+3
| | | | | | | | | | | | Since we drop the lock while deleting threads, we need to handle the queue possibly being accessed and changed by the pool threads while clear() is running. Fixes: QTBUG-87092 Change-Id: I7611edab90520454278502a58621e299f9cd1f6e Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> (cherry picked from commit fe36d47b371b71ad5fec30d4b5d7bf0baa0205ea) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Properly deprecate QProcess::pidVolker Hilsheimer2020-10-012-2/+5
| | | | | | | | | | | | Address an old ### Qt 5 comment. The method has been documented as deprecated and replaced by QProcess::processId since at least Qt 5.9, so we can first properly flag it as such for 5.15.2, and remove it from Qt 6 in a follow-up commit. Change-Id: Ic4e3351740617083b16723db8eef7a341bccfbf6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 3fb8f9e44e8cbf5937257505d0bc2d1457a26da1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix incorrectly placed closing bracket in Q_PROPERTY codeKai Koehne2020-09-301-2/+2
| | | | | | | | | Amends cb3152086c61e7c Change-Id: I1615a686a53da7ca5ae454565283c9e83399d947 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 0836db2330c0542d91fe61935e97d3369db93156) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't disable non-existent MSVC warning C4345Marcel Krems2020-09-301-1/+0
| | | | | | | | | | | | | This warning was removed in MSVC 2013: https://docs.microsoft.com/en-us/previous-versions/wewb47ee(v=vs.120) Disabling it causes warning C4619: #pragma warning: there is no warning number '4345' Doesn't apply to dev, since it was already removed in b42a2b3c3338a320a438bc081cb885fd4547f01f Fixes: QTBUG-87047 Change-Id: Ie89743d0e335a7ccded12c0265967fca49c95e70 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QJsonObject: fix sorting after parsing from JSON textThiago Macieira2020-09-301-29/+11
| | | | | | | | | | | | The logic was complex and missed the UTF-8 UTF-8 case. It ended up calling the UTF-8 to Latin1, resulting in an improperly-sorted container, which in turn meant keys were not found when searched. Fixes: QTBUG-86873 Change-Id: I0d3ff441bec041728945fffd16379dec418637ca Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit f00d322f6701580f97f38794b83b0ec13973d177) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't guess UTC when we can't find a system zone nameEdward Welbourne2020-09-283-16/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | If we're able to load a system zone without knowing its name, we shouldn't claim that its name is UTC. Instead, use the system zone information's name for the zone. Let the backend return an empty string if it can't determine the system zone ID, provided it has some way to get system zone info despite not knowing its name. This can happen on Windows if the system zone is one of Microsoft's idiosyncratic names that we don't recognize; or on Linux if /etc/timezone is a copy of a zoneinfo file, instead of a symlink. In support of that, handle empty ID as a request for system zone info, so that the backend constructors taking an IANA ID never get passed an empty ID; that gets routed to the default constructor instead. This incidentally restores QTzTimeZonePrivate's behavior, for empty ID, of reading the content of /etc/timezone if we are unable to determine the name of its zone any other way. Fixes: QTBUG-86306 Change-Id: Iad57c18199124f651ebc3d32c3deffca6eaab512 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit b12d6c6a8ab5f7b01bdd2cb862a66a409700faa1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qlist: Replace QT_DEPRECATED_X with proper QT_DEPRECATED_VERSION_X_Albert Astals Cid2020-09-271-5/+5
| | | | | Change-Id: Iba3ade5828af13e49afd3e48dfec8ae52207c05c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: fix minor line indentationAssam Boudjelthia2020-09-251-2/+2
| | | | | | | Change-Id: I1f064ecb38fcd6b0a59f3eaeb079cabbb7a8029f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 342a8f29ea542ff8b65453888a7cc9644dbe66cc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QMimeDatabase: fix handling of glob-deleteallDavid Faure2020-09-234-17/+26
| | | | | | | | | | | | | | | | | Binary provider: It was not possible to remove the first glob in a local override, because the mainPattern handling would re-add the first glob back. XML provider: It didn't support glob-deleteall. Also, the order of the providers was wrong. We want to pick local overrides first, the internal DB has to go last in the list. Fixes: QTBUG-85436 Change-Id: I9a4523f37cd962c730df9a6ed992bd01c075bf03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit fc8f5afc874073f91d3770273e0a9164182d7897) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Compile on QNX after QFlags constructor deprecationThiago Macieira2020-09-211-2/+2
| | | | | | | | | | | The QFlags constructor taking a plain zero literal was deprecated in commit af2daafde72db02454d24b7d691aa6861525ab99. Fixes: QTBUG-86585 Change-Id: I2fc68c725ba649218bd9fffd1633d6251649d2bd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit d8d7dbb65a386162285fe56dd5dc337793dab9e8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDir: add note to docs about isAbsolutePath(":foo") returning trueAhmad Samir2020-09-191-1/+5
| | | | | | | | | | | | As can be seen in the _q_resolveEntryAndCreateLegacyEngine_recursive method in QFileSystemEngine, paths starting with ':' are treated as QResources, which means that from QFileInfo's POV they're "not relative", which is why QDir::isAbsolutePath would return true. Change-Id: I701d08ce43ea707bc34c928e39bea0b83597a4b6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0da5726a43b21d1532720c8cd3c687cc2373cd2b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QMimeDatabase: fix performance regression when using the internal XMLDavid Faure2020-09-193-3/+26
| | | | | | | | | | That XML was parsed over and over again, because the QMimeXMLProvider was re-created instead of re-used. Change-Id: I07ff005d3f238afc1490b69a58cf4815e67d418c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 354ea7bd963b3c54b4b15d28a595bf836a78de07) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Remove outdated informationPaul Wicking2020-09-141-5/+0
| | | | | | | | | | Seems this information is obsolete, get rid of it. Fixes: QTBUG-86607 Change-Id: I0250e32b3c312c7da0363dd1b0d7f676bbfa0115 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 165bc70bc39a5094a0f931d38066b1f5b585fee8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Do not wait in QWindowsPipe{Reader|Writer}::stop()"Alex Trotsenko2020-09-104-30/+14
| | | | | | | | | | | | | | | This reverts commit c7ec07d40115bef849574c81d619b629af9434a9. Reason for revert: This causes a memory leak on program termination. The initial commit was an attempt to fix a deadlock where the user destroys object from a thread that does not own the object. This is an unsupported case and should be treated as an invalid report. Change-Id: I4957784b86a0361adb65b9d023542f96480f00ba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> (cherry picked from commit 92640829ad9f14ac83d870ed119e2738983f5284) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qcontainerfwd.h: add forward declarations for Q{String,ByteArray}ListThiago Macieira2020-09-091-0/+2
| | | | | | | | | On Qt6, QStringList is exactly a QList<QString>, not just derived from it, so people will need to remove their "class QString;". For compatibility, let's have qcontainerfwd.h forward-declare those two. Change-Id: I2fc68c725ba649218bd9fffd16332574d149c576 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revert "Revert "QVector: add a construction from QArrayDataPointerRef""Oliver Wolff2020-09-032-0/+6
| | | | | | | | | | | | | | Removing the constructor caused a binary compatibility break. The symbol is being used even though it might be considered private API. This reverts commit bf8268956b866e022825f81aa46833749a1ece28. Fixes: QTBUG-86392 Change-Id: I04fc3058e68a6a0cf293bcc8a5a83031dc1e96fb Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit e4961b35deb202525d4711dbb14f8c2bb0bf5c26) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Mark some Qt namespace enum members properly as deprecatedEdward Welbourne2020-08-281-6/+12
| | | | | | | | | | | | | | | | A comment is not good enough, Some of the enum members were even still in use, or mentioned in documentation. WA_ContentsPropagated, WA_WState_DND and WA_ForceAcceptDrops have been deprecated since 4.5.1; and at least the last has been an \omitvalue in the docs for even longer. (WA_ShowModal and WA_GroupLeader have been similarly marked, but are in use, see QTBUG-85816.) Push back to 5.15.1 in order to be able to remove these at Qt 6. Change-Id: I6ea3839767e5f5158b0fed508f65798470191908 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 7883bf730405b20594dd1385b8e817160a5895f2)
* macOS: fix standaloneMonthName implementation for system localeVolker Hilsheimer2020-08-271-5/+23
| | | | | | | | | | | | | macOS has specific formatters for the standalone month names, so use them. Change-Id: Ic4ad547c7d1c29d71c85f60301acd5a5f0f263d2 Fixes: QTBUG-86191 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Evgeniy Dushistov <dushistov@mail.ru> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 062d2831845eb07518d7c059b155a640bd0300f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QStandardPaths/Unix: improve the XDG_RUNTIME_DIR creation/detectionThiago Macieira2020-08-271-47/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, use QT_MKDIR instead of QFileSystemEngine::createDirectory(), as the latter can't create a directory with the right permissions. That would allow an attacker to briefly obtain access to the runtime dir between the mkdir() and chmod() system calls. Second, make sure that if the target already exists that it is a directory and not a symlink (even to a directory). If it is a symlink that belongs to another user, it can be changed to point to another place, which we won't like. And as a bonus, we're printing more information to the user in case something went wrong. Sample outputs: QStandardPaths: runtime directory '/root' is not owned by UID 1000, but a directory permissions 0700 owned by UID 0 GID 0 QStandardPaths: runtime directory '/dev/null' is not a directory, but a character device, socket or FIFO permissions 0666 owned by UID 0 GID 0 QStandardPaths: runtime directory '/etc/passwd' is not a directory, but a regular file permissions 0644 owned by UID 0 GID 0 QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-tjmaciei' QStandardPaths: runtime directory '/tmp/runtime-tjmaciei' is not a directory, but a symbolic link to a directory permissions 0755 owned by UID 1000 GID 100 Change-Id: Iea47e0f8fc8b40378df7fffd16248b663794c613 Reviewed-by: David Faure <david.faure@kdab.com> (cherry picked from commit ad5a65b6a2bfca1658634e380559d14ea1e904a4) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Synchronize QEventDispatcherWin32::processEvents() with QCoreApplicationAlex Trotsenko2020-08-261-1/+3
| | | | | | | | | | | | | | | | QCoreApplication has a special internal mechanism to control whether the event dispatcher should block after delivering the posted events. To handle queued connections in nested loops properly, we should use that functionality. Fixes: QTBUG-85981 Change-Id: I124179a23b26a995cf95ed379e97bfa62c95f42a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit fe4b246446f721085946e399b96a42eccfcecca8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QLocale: Fix double conversion snippetAndre Hartmann2020-08-261-19/+19
| | | | | | | | | | | | | * QString("1234,56").toDouble(&ok); always operates in the "C" locale and therefore ok is always false * Explicitly state that the return value is zero when ok is set to false * Made snippet compileable by giving str a type Change-Id: I403eb39ca78a5f9ceb92ccd8ac3539581294796c Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 6bd157c0f596e16631c22e0ed325076bf6f3aedc)
* Un-deprecate QByteArray's relational operators taking QStringSona Kurazyan2020-08-263-21/+1
| | | | | | | | | | | | QString still has the overloads of relational operators taking QByteArray. Un-deprecate QByteArray's relational operators taking QString for symmetry. See also the comments of d7ccd8cb4565c8643b158891c9de3187c1586dc9 for more details. Change-Id: If3f59376b389fe4cbc2bd649a748bb78378a530c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit d8ee1f6385b4dfeb57cb466b6c5f6bcfd3a90dfb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QRegularExpression: do not assume QStringViews are NUL terminatedGiuseppe D'Angelo2020-08-261-3/+18
| | | | | | | | | | | | The convenience API used to look up the index of a named capturing group expects NUL terminated strings. Therefore, we can't just use it together with QStringViews, which may be not. Use the non-convenience API instead. Change-Id: I25ca14de49b13ee1764525f8b19f2550c30c1afa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 049d8892eaa18d71d6edb10752418ad33305f310) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>