summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Update Unicode license for CLDR and UCDEdward Welbourne2020-03-171-2/+17
| | | | | | Task-number: QTBUG-82747 Change-Id: I6bbecaf3f0a8f8e7e0ad31074d88dea7ec98dff2 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix memory leak on new QThreadPool::tryStart versionAllan Sandfeld Jensen2020-03-171-7/+12
| | | | | | | | Also documents the ownership of the traditional tryStart better, and remove a redundant check. Change-Id: I06202465b782926724fa33a901d08c1626f87373 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Update the latest public suffix listEdward Welbourne2020-03-162-13783/+13887
| | | | | | Task-number: QTBUG-72623 Change-Id: I8e0450c41882f00a49264a99342eb2dcf1959abe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update UCD to Revision 26Edward Welbourne2020-03-145-6342/+6750
| | | | | | | | | | | | | | Include WordBreakTest.html, since a test uses sample strings from it, albeit without actually reading the file. Had to comment out more of the new tests, as at Revision 24, pending an update to harfbuzz and the text boundary detection code. Task-number: QTBUG-79631 Task-number: QTBUG-79418 Task-number: QTBUG-82747 Change-Id: I0082294b09d67ffdc6a9b5c15acf77ad3b86f65f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QStringBuilder: make the nested ConvertTo typedef publicMarc Mutz2020-03-121-1/+1
| | | | | | | | | It's needed by QStringTokenizer, and it's more generally useful as a public type (you don't need to match the type of the conversion operator, but can just access the nested typedef). Change-Id: I2cf8b22f1ca31c38d51d2143932115da6aefc5a7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QStringView: adapt to C++20 constexpr std::basic_stringMarc Mutz2020-03-121-1/+1
| | | | | | | | | | | | Just mark the constructor constexpr. If std::basic_string isn't, then this will be silently dropped. If std::basic_string is, we can now construct QStringView from std::basic_strings at compile-time. [ChangeLog][QtCore][QStringView] Conversion from std::basic_string can now be constexpr (when std::basic_string is). Change-Id: Ia608f1a71c9a24f417b3e21e150ff6bd3d2f4fc4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Merge qcore_mac cpp and mm filesTor Arne Vestbø2020-03-123-169/+123
| | | | | | | | Files ending with .mm are Objective-C++ files, so we don't need a separate file for the C++ parts. Change-Id: I3ef52bc98291fd461b889978a538e81630d17c6e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix minor errors in QDeadlineTimer docsEdward Welbourne2020-03-111-5/+5
| | | | | | Change-Id: I0f33094da29300ca8a609cfffd700c2a82d86ad1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-119-86/+115
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/plugin/qlibrary.cpp src/corelib/plugin/qlibrary_unix.cpp src/corelib/plugin/qpluginloader.cpp Change-Id: I866feaaa2a4936ee5389679724c8471a5b4b583d
| * QSortFilterProxyModel doc: do not mention deprecated function reset()Christian Ehrlicher2020-03-091-2/+3
| | | | | | | | | | | | | | | | | | | | QSFPM::reset() is deprecated and begin/endResetModel() should be used. Therefore adjust the documentation to reflect this. Fixes: QTBUG-82470 Change-Id: I786b3f25e5674d97d0ef6a0c91342973d5e952e9 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Port from deprecated std::is_pod to is_trivial + is_standard_layoutMarc Mutz2020-03-062-2/+4
| | | | | | | | | | | | | | | | The std::is_pod trait is deprecated in C++20; is_trivial and is_standard_layout exist since C++11. Change-Id: I4b901d8edf1a55001764445aee9c338d3dc23b21 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * QLibrary: introduce a mutex to protect non-atomic internalsThiago Macieira2020-03-035-52/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And make pHnd atomic. The majority of the variables is updated in QLibraryPrivate::load_sys and updatePluginState(), which get the mutex protection. QLibraryPrivate::unload_sys() doesn't need a mutex protection because we have the refcounting. [ChangeLog][QtCore][QLibrary & QPluginLoader] Fixed a number of race conditions caused by having two QLibrary objects pointing to the same library being operated in different threads. Fixes: QTBUG-39642 Change-Id: I46bf1f65e8db46afbde5fffd15e1a5b3f5e74ea4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * QLibrary: stop setting errorString after resolve()Thiago Macieira2020-03-032-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | resolve() is technically thread-safe if the library has been loadaed. We don't promise that, but it's there. More importantly, because QLibraryPrivate is shared among QPluginLoader and QLibrary that point to the same file, we can't thread-safely set the error string. [ChangeLog][Important Behavior Changes] QLibrary::resolve() will no longer set or clear the error string based on the success of finding the symbol. The error string will reflect the result of loading the library. Change-Id: I46bf1f65e8db46afbde5fffd15e1a4f4c2713c17 Reviewed-by: David Faure <david.faure@kdab.com>
| * QPluginLoader: rework the loading and the caching of instanceThiago Macieira2020-03-033-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a race condition in accessing the cached instance factory member, so rework loadPlugin() to return the cached or newly discovered instance, with proper, atomic caching. Because I had to change that, I took the opportunity to fix the QFactoryLoader code that calls loadPlugin(). Note that QLibraryPrivate::loadPlugin() returns non-nullptr now if the instance is known, which means the last return in QPluginLoader::load() will convert to true, not false, if the instance got cached between the earlier check and the call to loadPlugin(). That's probably what was intended. Task-number: QTBUG-39642 Change-Id: I46bf1f65e8db46afbde5fffd15e1a42d2b6cbf2c Reviewed-by: David Faure <david.faure@kdab.com>
* | Doc: Fix documentation for class qfloat16Topi Reinio2020-03-102-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class has documented member functions, but only the related \headerfile was documented. The class documentation itself was omitted with the \dontdocument command. Replace the \headerfile with a \class command, and move the global functions to be related to the class itself. Keep the title as a \keyword to avoid breaking any external links. The new class page will inherit the .html file name of the header page, so we're safe in that regard as well. Fixes: QTBUG-82800 Change-Id: Id51539b45e0642d91b304a37f95461ca3d6c9841 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Mimetypes: Build fix for Android builds on WindowsCristian Adam2020-03-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | Due to Android's multi-abi the build will fail due to concurrent access: cmd /c C:\Projects\Qt\repo\qtbase\src\corelib\mimetypes\mime\generate.bat C:\Projects\Qt\repo\qtbase\src\corelib\mimetypes\mime\packages\freedesktop.org.xml > .rcc\qmimeprovider_database.cpp The process cannot access the file because it is being used by another process. Change-Id: I647e0a6d8aa03cf116b08a1dce6e61e8882661f4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QDataStream: keep brace delimiters inside #if-scopesMårten Nordheim2020-03-101-1/+2
| | | | | | | | | | | | | | Because it looks odd. Change-Id: Ic272ae7b1b5a3e0a70884caa683ccbdd3a61ff6a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Doc: Mention .qrc compression attributes in resource compiler docsTopi Reinio2020-03-101-4/+15
| | | | | | | | | | | | Fixes: QTBUG-76321 Change-Id: Idf7b4157b46d98392314ccddf6b714f9e620b5f8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | QDataStream: fix compilation with QT_DISABLE_DEPRECATED_BEFORE=0x0050F00David Faure2020-03-081-4/+8
| | | | | | | | | | | | Fixes: QTBUG-81023 Change-Id: I0d56785d1fed2c4c8e0e87ccefb0b72b0ed3644a Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Fix UB in QProcess deprecation warning fixesJoerg Bornemann2020-03-061-1/+2
| | | | | | | | | | | | | | | | The commits e1e08629 and 66e905b1 introduced undefined behavior. Fix this by assigning the result of takeFirst to a temporary. Change-Id: I9e29412cf632d4836b95d47e12d8c07ab0645fbb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Doc: Mark QColorSpace enum as introduced in Qt 5.15Kai Koehne2020-03-061-2/+2
| | | | | | | | | | Change-Id: Ibf2da1ebb4eb9520a2a507ed6afb89f7176391bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Doc: Fix \sa link for QResource::uncompressedData()Kai Koehne2020-03-061-1/+1
| | | | | | | | | | | | | | | | No point in linking to itself. Change-Id: Id0bf3fa6878417e541ec0997d34758b0c59e99b3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix deprecation warning in QProcess::execute(QString)Joerg Bornemann2020-03-051-5/+3
| | | | | | | | | | | | | | | | Implement this method in terms of splitCommand and QProcess::execute(QString, QStringList). Change-Id: I1fe78fb53d8b6b34a8796f9fbda380a98a840c99 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QLoggingRegistry: use QStringView/QLatin1String moreMarc Mutz2020-03-052-26/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - QLoggingRule::parse() and the ctor take pattern as QStringView - parseNextLine takes lines as QStringView and produces the pattern as QStringView for QLoggingRule - (setContent has to wait for QStringTokenizer) - QLoggingRule::pass()'s first argument is always QLatin1String, so take it as one Use chopped() more, add a std::move(). Change-Id: Ic95ea77464a9922fef452846bc6d5053bd5de56e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QLatin1String/QStringView: add (missing) member compare()Marc Mutz2020-03-054-6/+53
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QLatin1String] Added compare(). [ChangeLog][QtCore][QStringView] Added compare() overloads taking QLatin1String, QChar. Change-Id: Ie2aa400299cb63495e65ce29b2a32133066de826 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QString/QByteArray: make all symmetry-checked member-compare() combinations ↵Marc Mutz2020-03-053-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | noexcept In QByteArray, they were just not marked as such. In QString and QStringRef, the implicit conversion from QChar to QString would destroy it. Add a QChar overload, delegating to QStringView. Added docs for the new overloads, copying from the nearest neighbor so as to not look out of place. All string classes use different wording for these functions. A cleanup of this state of affairs is out of the scope of this patch. Change-Id: I0b7b1d037aa229bcaf29b793841a18caf977d66b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Android: Bump gradle (plugin) versionsBogDan Vatra2020-03-041-0/+5
| | | | | | | | | | | | | | | | | | Move min & target sdk from AndroidManifest.xml to build.gradle Fixes: QTBUG-70817 Change-Id: Id9bb9825a3232587e0255b2d3d6f0273c5f9b66a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | QMimeXMLProvider: fix another issue with -no-mimetype-databaseThiago Macieira2020-03-032-5/+10
| | | | | | | | | | | | | | | | | | | | | | The compiler must emit the destructor for the members of a class in an inline constructor, in case the constructor throws. This won't work in Qt 5.15 due to QList requiring knowing whether QMimeMagicRuleMatcher is trivial or not. Another solution would be to use QVector. Fixes: QTBUG-82547 Change-Id: Ia8b65350cd5d49debca9fffd15f79db872ed7c0c Reviewed-by: David Faure <david.faure@kdab.com>
* | Add operator-> to the key-value iterator for QHash and QMapIvan Čukić2020-03-032-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the arrow operator to the stl-like key-value iterator (QKeyValueIterator) for QMap and QHash. This allows using normal member access syntax it->first and it->second instead of having to use (*it).first and (*it).second. [ChangeLog][QtCore][Containers] Added operator-> to the key-value iterator for QHash/QMap. Change-Id: I9cfa6480784ebce147fcfbf37fec5ad0080e2899 Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
* | QEventDispatcherWin32: unregister event notifiers on closeAlex Trotsenko2020-03-033-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QEventDispatcherWin32::closingDown() is called, threadData->eventDispatcher is already nullptr and the application will no longer process the events. Thus, just as it works for socket notifiers and timers, it makes sense to disable all active event notifiers at this point. Otherwise, it seems possible that an object in signalled state can provoke a data race in the notifier's callback on 'edp' pointer, if QWin32EventDispatcher destructor is running simultaneously. Task-number: QTBUG-64152 Task-number: QTBUG-70214 Change-Id: I6e77f3eeca1b0ea639021e73b86798cba0200ebf Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Fix missing return-type in doc of qfloat16::copySign()Edward Welbourne2020-03-031-1/+1
| | | | | | | | | | Change-Id: I617081fe3335a85191be7882578644621d5ffede Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Suppress warnings where QString and its tests use SplitBehaviorEdward Welbourne2020-03-031-0/+3
| | | | | | | | | | | | | | | | This is a follow-up to commit 895939c7f91d0c8424a0638c42d05cb42293a142 to fix deprecation warnings it added. Change-Id: I3d86655ec2c84c1bdcac9c70436075fc78f2f781 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QMap: undeprecate QMap::count(Key)Mårten Nordheim2020-03-032-32/+19
| | | | | | | | | | | | | | For compatibility with std::map Change-Id: Icba536244aadcad97c59dfd4bb22a7fdea881a7b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QMap/QHash: Use versioned deprecation macroMårten Nordheim2020-03-032-10/+10
| | | | | | | | | | | | | | Because then it can be configured Change-Id: Ib4c20dd64bedfe2ebadf13283698c50d4c0bc527 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Undeprecate QHash::count(Key)Mårten Nordheim2020-03-032-29/+14
| | | | | | | | | | | | | | For compatibility with std::unordered_map. Spotted in the API review. Change-Id: Ic34600d55baebcbbf115c1090cd555984037c44c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Avoid UB in QList::removeAt()Lars Knoll2020-03-031-2/+5
| | | | | | | | | | | | | | | | | | | | | | Always keep the out of bounds check for backwards compatibility, but warn about it, so that we can remove it in Qt 6. Amends commit ebf695bc779a63a5730df05ab246305c0ab342e4 Change-Id: I3f1e7e8f9f20feb0b0f06ff9083c26682f1c7d3b Reviewed-by: Richard Öhlinger <richard.oehlinger@adbsafegate.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Warn about Q(Date|Time)+ switching to C locale in Qt 6Edward Welbourne2020-03-031-0/+24
| | | | | | | | | | Change-Id: I3a3afc3fb4ddca405a75097feb15aee0e72b3b19 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make QProcess::splitCommand accept QStringView, as per header reviewVolker Hilsheimer2020-02-282-2/+2
| | | | | | | | | | | | | | | | | | A static function that only parses the string to create the list, so no need for a QString overload. Change-Id: I1df297adb795095d6eec94ccfcad52498178a7b1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Deprecate QString::SplitBehavior in favor of Qt::SplitBehaviorEdward Welbourne2020-02-282-34/+101
| | | | | | | | | | | | | | | | | | This requires changing which of the two families of methods gets to take a default argument for its behavior. Task-number: QTBUG-81853 Change-Id: I6759bedd9af364d6e12bb39cd539b5dcba37027e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | De-inline Qt::SplitBehavior splitters of QString and QStringRefEdward Welbourne2020-02-284-81/+142
| | | | | | | | | | | | | | | | | | | | | | Convert the QString::SplitBehavior variants to call them, rather than the other way round and convert the internal infrastructure to use Qt::SplitBehavior, ready to deprecate the QString::SplitBehavior versions without generating intenal warnings. Task-number: QTBUG-81853 Change-Id: Ia6b78881c3d0e30a7bbd4dfd00cc15a407f448a2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Core: Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-2811-13/+14
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: I446f9ddc8f8de4a0b79b09edb44f7c1496fbc33f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Docs: Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-281-7/+7
| | | | | | | | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Applied suitable wrapping round various char and string literals, since docs are meant to show best practice. Change-Id: Ie061905fad26f9b4dda3eedba4612704f0a19126 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Doc: Fix punctuation for QMetaType::QMetaType()Kai Koehne2020-02-281-1/+1
| | | | | | | | | | Change-Id: I99d78ae475844f3d145952fd789c5753979745f7 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Doc: Fix documentation for deprecated methods in QJsonDocumentKai Koehne2020-02-281-4/+10
| | | | | | | | | | | | | | | | \deprecated has to stand on its own - qdoc will ignore anything on the right side of it. Change-Id: Ib698aa66826d6430bbafd926a9c64febd5463c5c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Doc: Fix wording of operator=!(QMetaType, QMetaType()Kai Koehne2020-02-281-1/+1
| | | | | | | | | | Change-Id: I02ca10f968acb42a6e0d793cad78d7d0baa7f472 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Doc: Replace 'In alternative' with 'Alternatively'Kai Koehne2020-02-281-1/+1
| | | | | | | | | | | | | | Amends b19220d17fa66de5ded41690ffff263ee2af5c63 Change-Id: Ic6869ce77440b43b30248f1130dabe8cc1b231e9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | QConcatenateTablesProxyModel: Add getter for sourceModelsKai Uwe Broulik2020-02-272-0/+12
| | | | | | | | | | | | | | | | Currently, there's no generic way to get the source models as there's only calls to add or remove them. Change-Id: I23cdef7c93328b58a80ec4659b44073f8ff05088 Reviewed-by: David Faure <david.faure@kdab.com>
* | QMimeXMLProvider: add missing semi-colon in the #else caseThiago Macieira2020-02-271-1/+1
| | | | | | | | | | | | Fixes: QTBUG-82547 Change-Id: Ia8b65350cd5d49debca9fffd15f74e22c0536805 Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Lars Knoll2020-02-271-0/+4
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Lars Knoll2020-02-271-0/+4
| |\| | | | | | | | | | Change-Id: I4212d070d5752275085e754b96f0392113604dba