summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Qt namespace: Remove comment about stylesheet propagationPeter Hartmann2018-10-121-1/+1
| | | | | | | | | | | | | This is an opt-in feature to control whether font and palette should be propagated, and there is no reason this should be removed in Qt 6. This has been introduced in commit 7293200ace12f4870b87bb6a1f5a22ef53bf52cd . Change-Id: I666c09d716bf7033953e98108da3f7711f3bc321 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Martin Koller <kollix@aon.at> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Bump versionOswald Buddenhagen2018-10-112-2/+4
| | | | Change-Id: Icf0c81067f65b922a8473f9dce4aecefadf5b32d
* Remove spurious Q_FALLTHROUGH()Edward Welbourne2018-10-091-4/+1
| | | | | | | | | | Two cases with no code between them don't need a fall-through marker. The only code in the first case is subject to #if-ery; it either returns, without falling through, or has no code there. Putting in an overt Q_FALLTHROUGH() confused a rather dumb compiler ... Change-Id: Icc034be08859cc1656401af1c62367aec302668b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Revert "qdoc: Add default include dirs to qdoc command line"Martin Smith2018-10-091-1/+1
| | | | | | | | | This reverts commit 4bdd8d4ecac42be9e93faa7a2b9ae3448c4f989e. It contains an error. Change-Id: I51052029f001b9e82c2a53de15b4ba354aafdbae Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-0910-23/+86
|\ | | | | | | Change-Id: I5cbfd39cf728036bbdfdeec8e8739568e0a3025b
| * 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>
* | | | QString: documentation fixesSamuel Gaist2018-10-081-15/+15
| | | | | | | | | | | | | | | | | | | | Change-Id: I01cb7502514224cfb340bf8b8982340c29027689 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-10-086-5/+47
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qstylesheetstyle.cpp Change-Id: I3a503b44ae413fbc0a90f4af70b8f84daffd86ad
| * | | 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>
* | | qdoc: Add default include dirs to qdoc command lineMartin Smith2018-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change applies to darwin. It adds each include path in the QMAKE_DEFAULT_INCDIRS variable to the qdoc command line with the -I flag for both the prepare and the generate phase. These include paths provide access to the standard c++ and c headers, which clang needs to see. This change should work on all platforms, but it increased the qdoc warning count on the linuxsystem where it was tested, so now it only applies to darwin. Change-Id: I16e2e0d744e2cf68743dc12d39155dda2ece1536 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Implement QDataStream operator for QCborSimpleValueJędrzej Nowacki2018-10-033-14/+21
| | | | | | | | | | | | | | | | | | | | | That allows us to remove custom handling in QMetaType. Change-Id: Ic09fb96e1a05c6897803811d70aebbc6ea6e4f2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Implement QDataStream operator for main CBOR classesJędrzej Nowacki2018-10-036-1/+79
| | | | | | | | | | | | | | | | | | Change-Id: Ib3b68b1963625432c68d02be3bf2ec3c4baf1104 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | Implement QJsonValue data stream operatorJędrzej Nowacki2018-10-032-0/+81
| | | | | | | | | | | | | | | | | | Change-Id: I9cff40828ab68b4e2474da506b2da2cfed479f2c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
* | | Implement QJsonObject data stream operatorJędrzej Nowacki2018-10-032-0/+22
| | | | | | | | | | | | | | | Change-Id: I8528f18ad72828cd97a5ac00e1925958acf73f9f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Implement QJsonArray data stream operatorJędrzej Nowacki2018-10-032-0/+22
| | | | | | | | | | | | | | | Change-Id: Ib3c83c06605f0fe39108855bc3416bf453cab043 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Handle errors when streaming QJsonDocument through QDataStreamJędrzej Nowacki2018-10-031-1/+5
| | | | | | | | | | | | | | | | | | Change-Id: I96df896d446e89dc4f9733a6cc6cec61a6826a1f Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Finish qmetatype migration to type switcherJędrzej Nowacki2018-10-031-434/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The matatype should not keep manually maintained list of stream operators. The patch adds automatic detection for all builtin types so load and save functions pick the right delegate automatically. This change exposed some existing anomalies: - char is enforced to be signed while it seems that just calling the operator directly does not have that feature. - [unsigned] long type is always upgraded to [unsigned] long long - QCborSimpleType doesn't have the data stream operators while metatype is able to stream it through casting Change-Id: I51178d6acd97d0585a6089e30ddd6acb2a29af54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Implement QJsonDocument data stream operatorsJędrzej Nowacki2018-10-033-2/+27
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-48313 Change-Id: I25ebeed94c9340819e925a7740bbee21de73a0ca Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QOffsetStringArray: fix compilation error with clang-802.0.42Mikhail Svetkin2018-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] return StaticString<N1 + N2>{ls[I1]..., rs.data[I2]...}; Change-Id: I30f5f50378f1faed648d092eefc5edb46e940239 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-0118-80/+62
|\| | | | | | | | | | | Change-Id: Ic8cdb1c2b7c0a786b1313b6c3a3bf7e9ec288712
| * | 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 namespaced buildJędrzej Nowacki2018-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | It is not allowed to include files within Qt namespace. Change-Id: I8b87cdc7093bdf0129acca263316f8ea3a037a90 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Expose type id from QMetaType instanceJędrzej Nowacki2018-10-012-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is not reason why it should be kept in secret. Not having public accessor forces a user code to keep a copy of the id. Visible for example in QML (QQmlValueType). Change-Id: If0de65fb8d91bcd50880c66b5f87c68f6d888dd3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Use a std::vector instead of a QVector in QMimeDatabasePrivateIvan Komissarov2018-09-292-26/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using std::vector saves a bit c++ code when using range-for loop over the vector. Besides, no shared copies created anymore which is a bit faster. Change-Id: I564306ed9ac907e9f32f59b33ed15c027a59b4eb Reviewed-by: David Faure <david.faure@kdab.com>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-2925-111/+159
|\| | | | | | | | | | | Change-Id: I6083c3e61b7dbe188f83676f7e7bb268e5ccf2f3
| * | 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>
| | | * Fix integer overflow in very long sections in ELF objectsThiago Macieira2018-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The source is an ElfXX_Off, which is an unsigned 32- or 64-bit. That means any section bigger than 2 GB would cause an overflow when we assigned in m_stringTableFileOffset = strtab.offset; Change-Id: Ib47c56818178458a88b4fffd15546bd47a89894e Fixes: QTBUG-70560 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | | Doc: Add link target to fix QDoc warning in Qt DeclarativePaul Wicking2018-09-271-0/+1
| |/ / | | | | | | | | | | | | Change-Id: Iddaef1ce3f739c3dfb98eb87430fe85e3b2bd01c Reviewed-by: Martin Smith <martin.smith@qt.io>
| * | Fix erroneous use of errno with qErrnoWarningThiago Macieira2018-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, the error code to be used with qErrnoWarning is not errno, but Windows's GetLastError(). Obviously, right? So don't pass errno to it, just let it get the error message straight from qt_error_string(), which will use GetLastError(). Change-Id: I44e7d800c68141bdaae0fffd155619c93e3f3dab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Add tests for decoding too-short UTF-8 sequencesThiago Macieira2018-09-253-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were handling this properly, but not testing them. I guess we weren't testing because the condition is a valid intermediate state, so hasFailure() is correct it returning false. Testing inspired by the bug reported in https://github.com/intel/tinycbor/issues/137 Change-Id: Ib47c56818178458a88b4fffd1554ecfdd0af637e Reviewed-by: Lars Knoll <lars.knoll@qt.io>