summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Update to CLDR v34Edward Welbourne2018-11-024-4169/+4277
| | | | | | | | | | | | | | This only updates data on languages already present in 5.12; once it has merged up to dev, the scripts need to be run again to pick up a few more languages and possibly add any more new languages present in v34. Change some tests to match changes in en_AU's abbreviated day and month names. [ChangeLog][ThirdParty][CLDR] Update locale data to CLDR v34. Task-number: QTBUG-71144 Change-Id: I68402b5e7e9d3dba669b8ba31b9a8abd86675c6e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add since 5.11 markers to two QFile enumsAlbert Astals Cid2018-10-291-2/+2
| | | | | Change-Id: Iaa015046cdcece10c28437da40fcd6cdc9d55eb3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qendian: Fix float conversionsIvan Komissarov2018-10-281-0/+26
| | | | | | | | | Since Qt 5.10, qTo/FromBig/LittleEndian<float/double> stopped working. It may be confusing, but big endian floats do exist, so not to break old code, we should support them. Change-Id: I21cdbc7f48ec030ce3d82f1cd1aad212f0fe5dd0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdir: Fix a condition typoIvan Komissarov2018-10-211-1/+1
| | | | | | | | | A part of conditional expression is always false: if "c > 'z'" Task-number: QTBUG-71156 Change-Id: I6ee20c45d80e476d97e59167c481b157e4a233d0 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qjson: add missed Q_CHECK_PTRv5.12.0-beta3Ivan Komissarov2018-10-212-0/+2
| | | | | | | | | There might be dereferencing of a potential null pointer 'h' Task-number: QTBUG-71156 Change-Id: I63c34f8cba3e358f109d70ff9b34199c31895202 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Qt Forward Merge Bot2018-10-203-40/+21
|\ | | | | | | refs/staging/5.12
| * Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-10-213-40/+21
| |\ | | | | | | | | | Change-Id: Iaf28977e7ecf566b28b9406dcb005d48621169c2
| | * QWinEventNotifier: fix crash on application shutdownThiago Macieira2018-10-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The event dispatcher can be null already but we may have outstanding QWinEventNotifier objects (like in a QProcess). Patch-By: Tamas Karpati Task-number: QTBUG-70214 Change-Id: I5e432e273def425ea334fffd154f34abfd6cb11a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Re-disable statx() on AndroidThiago Macieira2018-10-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b7887f9b4faad2227691a2af589e9d7680d6ae08 removed this explicit disabling because it shouldn't be needed anymore. Turns out it was, as new Android SDK do include modern Linux headers and those define the structs and constants needed for statx(). Repeat of 8eb3944dac81b8c51d7bac7784204d457551b50c. Task-number: QTBUG-64490 Fixes: QTBUG-71200 Change-Id: If7e743cf8476463880ccfffd155e6d5c2b5a3da9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * Linux: Remove our use of syscall() for statx(2) and renameat2(2)Thiago Macieira2018-10-122-43/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those system calls are present in glibc 2.28. Instead of using syscall(3) to place the system calls directly, let's use only the glibc functions. That also means we no longer accept ENOSYS from either function, if they were detected in glibc. Change-Id: I44e7d800c68141bdaae0fffd1555b4b8fe63786b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | qfilesystemengine: add missed Q_CHECK_PTRIvan Komissarov2018-10-201-0/+3
|/ / | | | | | | | | | | | | | | | | There might be dereferencing of a potential null pointer Task-number: QTBUG-71156 Change-Id: I202d314d001917a2de0500caf762d2b54ff517cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
* | Fix re-running of cmake when a qrc file changesSimon Hausmann2018-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | Commit 2af127763194c13c3f7ccce507c94eb2de6dbefe renamed out_depends to _out_depends inside qt5_add_resources but the old (empty) variable was used with add_custom_command. Change-Id: I8005674992b4538bd82375a4f1f70484bc0f0ae5 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix QString latin1 conversion and comparison for -optimize-size buildKirill Burtsev2018-10-181-0/+8
| | | | | | | | | | Change-Id: I5f0ae946151e9733cbe21cb24387636ba68bc177 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | qreadwritelock: Fix Q_ASSERT typoMikhail Svetkin2018-10-171-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-71156 Change-Id: Idc249b8b499106c3683a7fd641f27d22047386fe Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QMetaEnum: fix UBAnton Kudryavtsev2018-10-171-2/+6
| | | | | | | | | | | | | | | | | | Check ptr before usage. Change-Id: Iac757a2e260b237d837318932cc0b5896c6e04c2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Create empty list only if it's needed in QMetaMethod::parameterNamesAnton Kudryavtsev2018-10-171-2/+1
| | | | | | | | | | Change-Id: I2d370dff0c4939f27709db0ebf2b15a15eb14877 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-1766-13535/+13800
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/platformthemes/platformthemes.pro src/printsupport/kernel/qplatformprintdevice.cpp Change-Id: Iac01729ad954bb1c7af5867d982eb243b2139ee6
| * Modernize the "mimetype" featureLiang Qi2018-10-1216-45/+9
| | | | | | | | | | | | Change-Id: I9b67c2cbc0891a38ece18d521c86fbc7344dce7a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Modernize the "codecs" featureLiang Qi2018-10-128-24/+19
| | | | | | | | | | | | Change-Id: Idee19112581bff64a2e0b8e331dd3d779aca165b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Modernize the "big_codecs" featureLiang Qi2018-10-1216-68/+35
| | | | | | | | | | | | Change-Id: Ic23f4a1f81a21711cd81aaa2942b493aca5b38b8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Modernize the "animation" featureLiang Qi2018-10-1227-110/+45
| | | | | | | | | | | | Change-Id: Ibc164b3df3cf87db569ef4813de458a9067b7f7d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Update the DNS public suffix list from publicsuffix.orgEdward Welbourne2018-10-091-13288/+13692
| | | | | | | | | | | | | | | | | | | | It has had some changes and should be kept up to date. Fixes: QTBUG-70386 Task-number: QTBUG-70852 Change-Id: I868a558811c34cf5a800c3087a0ca96e7fb49b1a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Clarify behavior of QAbstractEventDispatcher::processEventsTor Arne Vestbø2018-10-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function, although implemented differently in each event dispatcher, is not supposed to process newly posted events, only the events that were queued at the time of the call. This is tested by tst_QEventDispatcher::processEventsOnlySendsQueuedEvents, which is not blacklisted on any platforms, so we know it's the behavior in practice. Change-Id: If9a874eeeb8ebcebe88ed119b065ae12fc545129 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Doc: Move literal code block to a separate fileCristian Maureira-Fredes2018-10-1570-1043/+2255
| | | | | | | | | | | | | | | | | | | | | | We need to override this snippet for the documentation we generate for Qt for Python, and it is easier to have it on a separate file. Task-number: PYSIDE-801 Task-number: PYSIDE-691 Change-Id: Ideb5b6af25024279f167137d3b65660bb9c96a7e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Fix docs for QStandardPaths::DesktopLocationAndre Hartmann2018-10-151-1/+2
| | | | | | | | | | | | | | Was broken by 1afe110b8fe6da51ec23736fa3a105013255f904 Change-Id: I63e000c663d227f8527ad5162c7662c5c011cf72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | glib dispatcher: rework userEventSourcePrepare() event sourceGatis Paeglis2018-10-142-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a better solution for fbb485d4f6985643b27da3cc6c5b5f960c32e74d. The existing solution was working fine, but it was exposing logic that is internal to QWindowSystemInterface and platform plugin interaction. Some platform plugins do event filtering at native event level - those that support QAbstractEventDispatcher::filterNativeEvent(). Other plugins rely on QWindowSystemInterface to do the filtering. Dispatchers should not care about this. The new logic rely on the fact that QWindowSystemInterfacePrivate::handleWindowSystemEvent calls QAbstractEventDispatcher::wakeUp(). The same way postEventSourcePrepare() rely on QCoreApplication::postEvent() to call QAbstractEventDispatcher::wakeUp(). Event sources run in the order they are attached, postEventSourcePrepare runs before userEventSourcePrepare(). We rely on that order to pass wakeUpCalled value. Change-Id: I0327f4f2398fd863fb2421b8033bb1df8d65f5af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix UB (invalid pointer comparison) in QList, QVector, QVLAMarc Mutz2018-10-083-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QList, QVector and QVarLengthArray check the validity of iterators passed to member functions using isValidIterator(), which checks that the underlying pointers are in the range [begin, end]. This check is well-defined when the outcome is positive, ie. when the iterator is valid. But if the iterator is not valid, and does not happen to point into [end, begin + capacity], the comparison, which uses normal operator<, invokes UB. Fix by using std::less<T*>, which defines a total ordering. Change-Id: I1e5757789b4b9779f5e3e298e7f2b2dd0b27576c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Support QCborMap::operator[] taking a string literalEdward Welbourne2018-10-082-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a template on the size of the char[], as suggested by Ville Voutilainen. This resolves ambiguity about whether such look-ups should be done via QString or QCborValue (not that it would have made any difference). When we come to add mutating indexing of QCborValue, chained dereferences like map[i][j][k] need to stay in operator[] const throughout, to avoid detaching intermediates to create references into them due to using the mutating operator[] on the earlier dereference's return. So const-qualify the QCborValue operator[] const variants at the same time, to match those of QCborValue itself. Change-Id: Ib1652ae9440fe3767a653afa2856b74040210e07 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Change QCborArray to pad with invalid on inserting past endEdward Welbourne2018-10-084-10/+41
| | | | | | | | | | | | | | | | | | Likewise have mutating operator[] insert an invalid entry at its target index, if beyond the end of the array. This makes it possible to fill an array from high index to low, for example. Change-Id: If71699c20e2623142214ce2c11c4d6e4a120c989 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Liang Qi2018-10-082-5/+26
|\ \ | | | | | | | | | refs/staging/5.12
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-10-082-5/+26
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qtimezoneprivate.cpp Change-Id: Icbb5999d378711ce3786a4fe0aba176a45ac702c
| | * QDateTimeParser: avoid using an invalid hour by defaultEdward Welbourne2018-10-021-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a time-zone does a spring-forward, skipping an hour (either to start DST or to move its standard time), there's an hour that doesn't exist on the day in question. That hour can be the first hour of the day, in which case using 0:0 as the default time is broken. So catch this case and use the first time that day that makes sense. Fixes: QTBUG-70823 Change-Id: I23dae9320a3cdd2c988841a7db1b111edb945730 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Scale seconds by a thousand to get millisecondsEdward Welbourne2018-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | QTimeZonePrivate::dataForLocalTime()'s handling of times in a spring-forward gap added offsets in seconds to values in milliseconds. Supply the missing factor of a thousand. Change-Id: Ic32d87675f902e1c7fd85025fb70c8272a4f2db2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | winrt: Explicitly set main thread in QCoreApplication's constructorOliver Wolff2018-10-083-2/+40
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | For winrt we cannot rely on the fact, that QThread::current will be called from the correct thread for the first time. The application's main entry point creates a suspended thread and starts it right afterwards. At that moment, other functionality (QLoggingRegistry for example) might have called QThread::current, which set the wrong thread as the main thread. In order to avoid this situation, the main thread is explicitly set in QCoreApplication's constructor. Task-number: QTBUG-66418 Change-Id: I8b6347357a80eb395ae758bd3d420adef0826751 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QSFPM: don't let setFilterRegExp(QString) overwrite CaseSensitivityDavid Faure2018-10-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression from commit 346c15102b, which creates a new QRegExp in setFilterRegExp, losing previously set case sensitivity property (i.e. when the code does proxy->setFilterCaseSensitivity(Qt::CaseInsensitive) before setFilterRegExp). Interestingly that commit ensured that setFilterFixedString would still preserve CaseSensitivity, but not setFilterRegExp(QString). Change-Id: I3d37d001ce6e86dd90e7e07431440a42607172f9 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
* | QSFPM: setFilterRegExp and setFilterRegularExpression overloads to slotsSamuel Gaist2018-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setters of both filterRegExp and filterRegularExpression are currently normal functions. This patch moves them to slots to make them usable using the old syntax. This can be done since there are already overloads for both of them so people using the new connect syntax would have needed to use qOverload already therefore there is no SIC. [ChangeLog][QtCore][QSortFilterProxyModel] Setters of both the filterRegExp and filterRegularExpression properties are now slots and can be used with the old as well as the new syntax. Change-Id: Id5cd9a50fa4a62e2bbd6bd665b44bd25a0402852 Fixes: QTBUG-18113 Reviewed-by: David Faure <david.faure@kdab.com>
* | Doc: fix QRegularExpression::wildcardToRegularExpression snippetSamuel Gaist2018-10-021-1/+4
| | | | | | | | | | | | | | | | The sample output from wildcardToRegularExpression was from an earlier version of the implementation. This patch fixes this. Change-Id: I48108add01aafed69490ef2527c1ea6a209b220b Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-3017-74/+46
|\| | | | | | | Change-Id: Iaa438d14357be1bf75bb645cb8d3245947c055b8
| * Fix QUrl::matches for when removing authority parts (other than host)Thiago Macieira2018-09-291-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QUrl::RemoveAuthority is RemoveUserInfo | RemovePort | 0x10, so the condition if (options & QUrl::RemoveAuthority) would match if any of the other bits for the username, password or port were set, which meant we would skip the host comparison. Ditto for username and RemovePassword. [ChangeLog][QtCore][QUrl] Fixed a bug that caused QUrl::matches to incorrectly compare two URLs with different hostnames or different usernames as equal, if certain QUrl::RemoveXxx options were passed. Change-Id: I015970a03b874898bba7fffd155856ab9d6cb1be Fixes: QTBUG-70774 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * QCommandLineParser: Ensure that an option text ends with a newlineAlexander Akulich2018-09-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change we inserted newline only if an option has a description and ended up with an arbitrary long line with all options. [ChangeLog][QtCore][QCommandLineParser] Fixed a bug that caused the help output to show two options or more in the same line if the options didn't have a description. Task-number: QTBUG-70174 Change-Id: Id54b9ae13ee596869e4dc14e09301aea19eed2f8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Android: fix log output patternLuka Modric2018-09-271-3/+1
| | | | | | | | | | | | | | | | | | | | Remove hardcoded android log pattern as this is already part of the message to match behavior on other platforms. Task-number: QTBUG-69450 Change-Id: I529b550114a2164beafe305f8392891c4ead88f0 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Modernize the "filesystemwatcher" featureLiang Qi2018-09-2714-62/+32
| | | | | | | | | | | | Change-Id: If030b56ad97e047d89d442629262b4839df306d4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Windows: Fix QDir::drives() to no longer list ejected mediaFriedemann Kleint2018-09-291-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a check using GetVolumeInformation() (modeled after QStorageInfo::ready) within a SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX scope. Remove old #ifdef used for Windows CE. [ChangeLog][QtCore][QDir] On Windows, QDir::drives() no longer returns drives whose media were ejected. Fixes: QTBUG-69029 Change-Id: I2d4a32e9281ccf3c0f2ebfa427122609aa4f327f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix QXmlStreamWriter xmlns attribute placementhjk2018-09-281-1/+1
| | | | | | | | | | | | | | | | | | Done-by: Eugenio Rustico Change-Id: Ibd6aa6cc8be9090a4fad4f96628086d8a498b8e0 Fixes: QTBUG-63434 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Liang Qi2018-09-2713-72/+78
|\ \ | | | | | | | | | refs/staging/5.12
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-09-2713-72/+78
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/widgets/util/qcompleter.cpp Change-Id: I4f44f0f074982530f2f2e750ce696230b2754cf3
| | * Modernize the "datestring" featureLiang Qi2018-09-2410-49/+52
| | | | | | | | | | | | | | | | | | Change-Id: I2236a456fe3758d9054b22e36fe6316f3522d533 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Modernize the "textdate" featureLiang Qi2018-09-244-18/+19
| | | | | | | | | | | | | | | | | | Change-Id: Ic0b6f13e17c301ed66d6a8297c242086c94ac87d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Export qt_open64 from QtCoreThiago Macieira2018-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other libs use qcore_unix_p.h. qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)' Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Eric Lemanissier <eric.lemanissier@gmail.com>
| | * Clarify docs regarding the states of a QFutureWatcher with no future setAndy Shaw2018-09-241-3/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-55554 Change-Id: I49b475a95d8ee65864cfa6d1024cb17cfe648b43 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>