summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Qt5CoreMacros: Sync with CMake project counterpartKevin Funk2015-12-211-4/+4
| | | | | | | | | | | | | | | | | | | Port of CMake commits: commit 2622bc3f65162bf6d6cb5838da6999f8b5ca75cf Author: Rolf Eike Beer <eike@sf-mail.de> Date: Sun Apr 6 21:30:00 2014 +0200 Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex) commit 7beba98652212c7a44f291b51dd03681e5193c49 Author: Robert Maynard <robert.maynard@kitware.com> Date: Thu Apr 3 11:27:58 2014 -0400 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function Change-Id: I5b928d114adb393ed9370163609311b7486e4a36 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Make use of new QHash::erase(const_iterator) overloadMarc Mutz2015-12-194-20/+19
| | | | | | | | | | Drive-by changes: - use auto for iterators - add Q_UNLIKELY for conditions leading to a qWarning etc Change-Id: Iff8f36d67c96674d354a501b26640f73c15ce58d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sérgio Martins <iamsergio@gmail.com>
* QHash/QSet: add erase(const_iterator)Marc Mutz2015-12-194-14/+43
| | | | | | | | | | | | This is the signature the functions have in C++11. For the std containers, this is just convenience, but for Qt containers with their implicit sharing problem, the combination of erase() with constFind() can delay a detach until absolutely necessary. [ChangeLog][QtCore][QHash/QSet] Added erase(const_iterator). Change-Id: I2fc841c664cd7515b0f56fd7210fcd17c37f9014 Reviewed-by: David Faure <david.faure@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-1811-20/+72
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/painting.pri src/plugins/platforms/xcb/qxcbconnection.cpp tests/auto/corelib/thread/qthreadstorage/qthreadstorage.pro tests/auto/corelib/tools/qlocale/test/test.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp tools/configure/environment.cpp Change-Id: I9c40f458b89b2c206de2d2c24e90b5f679c93495
| * winrt: Align error code handling with WinCEMaurice Kalinowski2015-12-151-1/+1
| | | | | | | | | | | | | | | | | | Both specify 87 (invalid parameter) as error code for non existing shared memory. Change-Id: I02b02da106e9e4e574a21359c25bc2a03e385a7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * winrt: Avoid blocking for the first processEvents runMaurice Kalinowski2015-12-141-2/+11
| | | | | | | | | | | | | | | | | | | | When calling WaitForMultipleObjectsEx, do not use a timeout for the initial call. This saves around 10% of blocking invocations in the QEventLoop autotests. Change-Id: Ib24436ed11de1865e31f9ff0ddf6ce1bc5562f42 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * winrt: Use Windows 10 features when availableMaurice Kalinowski2015-12-111-0/+4
| | | | | | | | | | | | | | | | OpenFileMappingFromApp has been added for Windows 10. Using it, QSharedMemory autotests succeed without any failure. Change-Id: I5a4fbec004f121f41909ae13f3db02c384810645 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * QJsonObject::(const_)iterator: add pointer typedefGiuseppe D'Angelo2015-12-112-0/+12
| | | | | | | | | | | | | | | | Otherwise they're unusable with std::algorithms or anything else that requires iterator_traits. Change-Id: Ia29c1e7c1778844e37d43eaa8aef2871afe3c991 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Clarify what time-zone "transitions" are.Edward Welbourne2015-12-091-0/+5
| | | | | | | | | | Change-Id: Idad5b841c3c693e2040ca606894187988615c9b0 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QProcessPrivate::startProcess - fix invalid encodedProgramName (OS X)Timur Pocheptsov2015-12-091-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | CFBundleCopyExecutableURL returns different URLs (can be absolute or relative) for the same bundle (caching) - and this results in an invalid encodedProgramName (in case we try to start the same process twice), for example, if we start: QProcess p; p.start("nestedDir/nested.app") twice, the second time we'll have an error trying to start something like nestedDir/nested.app/_and_here_absolute_url. Change-Id: I8ac42e20fe3b9fe8b80d5b5c663672e77d88269d Task-number: QTBUG-49837 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
| * Doc: Circumvented qdoc parsing by removing '!'Nico Vertriest2015-12-091-1/+1
| | | | | | | | | | | | | | | | | | Qdoc gave warning "Cannot link this to anything" Task-number: QTBUG-43810 Change-Id: Id903040ed7b2860a2ec64a52f7fbe8269c6927b0 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QString: where possible, re-use existing capacity in op(QChar/QL1S)Marc Mutz2015-12-082-7/+22
| | | | | | | | | | | | | | | | | | If the LHS is detached and has existing capacity that is large enough to hold the RHS, re-use the memory instead of allocating a new buffer and throwing away the old. Change-Id: I53d42825da92c264c7301e8e771cba9fb35c321b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Win: Use native separators in QLibrary errorsKai Koehne2015-12-081-3/+6
| | | | | | | | | | | | | | | | | | | | Fixes output like plugin cannot be loaded for module "QtWebEngine": Cannot load library D:/dev/qt/5.6/msvc-2015-32/qtbase/qml/QtWebEngine/qtwebengineplugind.dll: The specified procedure could not be found. Change-Id: I159113a6a1f40b924905da15267a42e5b627d56e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix constructing a QSharedPointer<const> of a QEnableSharedFromThis typeThiago Macieira2015-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It should compile, since the std::shared_ptr does. [ChangeLog][QtCore][QSharedPointer] Fixed a problem that would cause a compilation error when constructing a QSharedPointer of a const type when the type derives from QEnableSharedFromThis. Task-number: QTBUG-49748 Change-Id: I8de47ed6c7be4847b99bffff141c84f5e0b6bea8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QVariant: retain duplicate keys when convertingThiago Macieira2015-12-081-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-49520 Change-Id: I3e15a26e0e424169ac2bffff1417e3f4398c2277 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | QProcess/Windows: Fix handling of workingDirectory.Friedemann Kleint2015-12-141-1/+2
| | | | | | | | | | | | | | | | | | Store nativeWorkingDirectory in a variable on the stack to prevent accessing the buffer of a temporary string. Fix breakage introduced by 068baa9bb6d526cccc0c8bc7cdbb84bbdf137f95. Change-Id: I8cf9ffe39c97afc9383c33cafaeffb1245b3e2b9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QString: mark relational operators (and compare()) nothrowMarc Mutz2015-12-132-62/+63
| | | | | | | | | | | | | | Saves ~3K in QtCore text size on GCC 4.9 Linux AMD64 relase builds. Change-Id: I74171ba5499de200b9584660241ca1fae4bcad79 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QChar: mark remaining relational operators nothrowMarc Mutz2015-12-131-4/+4
| | | | | | | | | | | | | | | | | | | | Equality and inequality were already marked nothrow, but less/greater than (or equal) were not. Fixed. Change-Id: I3f7a3388b31fcaa2535353f357b5bd1fc86f261d Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Fix compilation of isnan/isinf for MSVC2012.Erik Verbruggen2015-12-111-2/+2
| | | | | | | | | | | | | | | | | | MSVC doesn't define float versions for _isnan/_isfinite, so the double versions need to be used. This is already done in the surrounding functions, but not in these two. Change-Id: Ic183358dc1790279e18d00a08b7279e76c02af60 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Android: Remove support for API < 16BogDan Vatra2015-12-101-4/+2
| | | | | | | | | | | | | | | | | | Starting with Qt 5.7 we removed support for API < 16 (Android v4.1) [ChangeLog][Android] Support for Android API < 16 was removed. Change-Id: I8bf396a9d70ab0996965e0c9f629800aa1fa6a45 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Don't allocate memory when creating an invalid QDateTimeSérgio Martins2015-12-101-1/+3
| | | | | | | | | | | | Task-Id: QTBUG-47779 Change-Id: I5aad835c9fbf50962d64d14519ec31cf38cf9e3b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | add a way to modify CreateProcess parametersJoerg Bornemann2015-12-105-6/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QProcess] Added method setCreateProcessArgumentsModifier to QProcess on Windows to enable users to intercept and modify CreateProcess parameters. With such a modifier, calling code can decide whether to inherit handles, modify the STARTUPINFO struct, and pass its own combination of process flags to CreateProcess. Task-number: QTBUG-390 Task-number: QTBUG-6917 Task-number: QTBUG-9350 Task-number: QTBUG-24619 Change-Id: I14757dbbacfebb1c89f52402d36fba0ba9c45f3a Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QtBase: use preincrement for iterator typesAnton Kudryavtsev2015-12-091-1/+1
| | | | | | | | | | | | | | | | | | ... because it's useful for non-primitive types. Except for index-based loops, these were the only two remaining instances in QtBase. Change-Id: I0fafa502d78a70f98b4a90f4d3c7fdfbb401a90f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Haiku: Implement QLockFilePrivate::processNameByPidTobias Koenig2015-12-081-0/+7
| | | | | | | | | | Change-Id: Ie9b76d14f901f5aadf7409183165eaccc288effd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Allow Q_CHECK_PTR when asserts are forcedAlex Trotsenko2015-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | Since the commit 9f83e75d3fbfc01a5ca8d87b4c33ca1ad848387d we can build the release packages with Q_ASSERTs still enabled. As this feature was targeted to embedded platforms it would be nice to enable Q_CHECK_PTR macro as well. Change-Id: I2d549d92b7196935665d927e6aaed3e9f31593b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add PointerToMemberFunction for ctor of QSignalTransitionAndré Klitzing2015-12-082-0/+26
| | | | | | | | | | | | | | | | [ChangeLog][QtCore][State Machine] Added constructor overload that takes a pointer-to-member for the QSignalTransition. Change-Id: I80ac6e16d0edf7d2ab09882b6f6db4cbd73364e1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QString::vasprintf: Extract Method parse_length_modifierMarc Mutz2015-12-081-47/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and simplify it: De-duplicate ++c by moving it from every case into the switch statement, undoing it only in the default case. Introduce a small helper function can_consume() for dealing with the two-letter length modifiers. Also return the result from each case instead of storing it in a temp variable. Change-Id: I28a527920aabba067ebb2152a67995c8f2ec7ae7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-12-0812-129/+152
|\| | | | | | | Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
| * WinRT: Add RETURN_[]_IF_FAILED_WITH_ARGS macros.Friedemann Kleint2015-12-071-0/+10
| | | | | | | | | | | | | | | | Make it possible to pass arguments to the messages by introducing variadic macro versions of RETURN_[]_IF_FAILED. Change-Id: Iec27adb33d9d3211fdc299f07777fcdf33f08a93 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * Don't treat "/etc/localtime" in TZ env var as a valid timezone idMartin Klapetek2015-12-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | On some Debian distros, the TZ environment variable can be set to ":/etc/localtime", which libc defines as "default value". If this is set, the current QTimeZone parsing code will return "/etc/localtime" as the system timezone id, which is clearly wrong. So in that case, just unset the ianaId variable and let the other blocks look for the timezone. Change-Id: I3f5795d0a05f4974a60556387a07a1e2e1e7aa30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Q_UNIMPLEMENTED: remove explicit file, line and funcinfo informationMarc Mutz2015-12-071-1/+1
| | | | | | | | | | | | | | | | This information is already registered by the QMessageLogger ctor. Change-Id: Iac378777675f00ad5d07b938605484b1466aa5c5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix typo in QObject::disconnect() documentationSérgio Martins2015-12-071-1/+1
| | | | | | | | | | Change-Id: I65f95c7f22399b9fea65c44b971afc7efbb73d64 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Combine environment variable implementationsSamuel Nevala2015-12-036-123/+129
| | | | | | | | | | | | | | | | | | | | | | Environment variable storage implementations on Windows Runtime and CE are very similar. For better maintainability have just one implementation. Change-Id: I12ec38f7bde3fcc0bcc56face88d5f19cf3b3504 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * Doc: corrected statement about QByteArray::clearNico Vertriest2015-12-031-2/+2
| | | | | | | | | | | | Task-number: QTBUG-45096 Change-Id: I30a49044690c2f0ef5bf6ee80712e1395c60ac77 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Revert "Doc: Added info about sorting in QItemSelectionModel::selectedIndexes"Nico Vertriest2015-12-031-1/+0
| | | | | | | | | | | | | | | | This reverts commit d0f57439d02582cf7564d1509d13f715eadc7f05. This commit had introduced a wrong statement about the sorting. Change-Id: I2f6ea6f7cfb318bca7bd44c686956ba135b65b20 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QStandardPaths::standardLocations()/WinRT: Return empty lists.Friedemann Kleint2015-12-031-1/+2
| | | | | | | | | | | | | | | | Previously, lists containing one empty string were returned for the unimplemented functions. Change-Id: Ia64b53325420e32076f2bacf22c48885d7121df0 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | Add missing include to qabstractitemmodel_p.hRisto Avila2015-12-071-1/+2
| | | | | | | | | | | | | | | | qabstractitemmodel_p.h should include qabstractitemmodel.h since it's using QModelIndex. Change-Id: Ie2e3f9e1b324e080e1159e49fa89dd70f920dd1d Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | qt_poll: split out into separate file and sanitize buildLouai Al-Khanji2015-12-055-234/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qt_poll function calls recv to query whether fds marked by select as readable should be marked POLLIN or POLLHUP in the pollfd structure. On many platforms such as QNX this requires extra link-time libraries which were not previously required by QtCore. While the qt_poll function is intended as a fallback mechanism only for those platforms which do not implement poll natively, the function was compiled unconditionally whenever QT_BUILD_INTERNAL was defined, e.g. in developer builds. Additionally the function was included on those systems that define poll in system headers so that configure determines build-time availability, but do not define _POSIX_POLL > 0 or indicate POSIX:2008 compliance via either the _POSIX_VERSION or _XOPEN_VERSION macros. On those systems a sysconf query for _SC_POLL was performed to determine at runtime whether to call the system poll or qt_poll. Both of these cases are in fact counterproductive. In the first case the sole consumer of the function is a single manual unit test. In the second, to my knowledge no platform requires the runtime fallback. Despite that, we were forcing an extra dylib in both cases. Both cases are fixed by 1) moving the implementation into its own file for the unit test to include and 2) dropping the dynamic fallback if configure determines availability of poll at compile-time. This also reverts commit 13777097118c496391d4b9656b95097ac25e4a40, which added -lsocket for QtCore on QNX. Change-Id: I2dd10695c5d4cac81b68d2c2558797f3cdabc153 Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | qCount{Leading,Trailing}ZeroBits: Use __builtin_clzs for 16-bitThiago Macieira2015-12-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If possible. The BSF/BSR/TZCNT/LZCNT Intel instruction does not exist for 8-bit. And it's a good idea to use the 32-bit instruction instead of the 16-bit one for that case, to avoid the Length Changing Prefix (LCP). GCC doesn't allow us to use __builtin_cl[tz]s unless BMI is active, while ICC generates the same code either way (Clang understands __has_builtin). Change-Id: I8de47ed6c7be4847b99bffff141c91603c7024dc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | QEasingCurve: mark nothrow move constructible/assignable and nothrow swappableMarc Mutz2015-12-041-3/+3
| | | | | | | | | | Change-Id: Ib81e6f2278608e102ed7bfc799525777737a4e87 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QEventDispatcherUNIX: Remove unused mainThread member variableLouai Al-Khanji2015-12-042-4/+0
| | | | | | | | | | Change-Id: I400c3fc7430c2a7d273325a03ba3499369d30a4f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove the socketpair special case for eventdispatcher on INTEGRITY.Rolland Dudemaine2015-12-041-10/+1
| | | | | | | | | | | | | | | | | | | | The special case was needed for INTEGRITY 5, but select support has since long been added. Change-Id: Ice25c5becc9d7dcdf6c5bc9eeac36b70e1b94df3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | pwd and group variables should be declared inside Q_OS_INTEGRITY.Rolland Dudemaine2015-12-041-4/+4
| | | | | | | | | | | | | | | | The variables were always intended to be located inside the #ifdef Q_OS_INTEGRITY. Change-Id: I5e223ff8b5b2a686e4b45e2b8eb731e8406a199f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | sys/flock.h should not be included for Q_OS_INTEGRITY.Rolland Dudemaine2015-12-041-0/+3
| | | | | | | | | | | | | | | | More specifically, equivalent declarations to this BSD header are defined implicitly on INTEGRITY, and the header does not exist. Change-Id: Ib0bd4b22742ef403c83dab0d72c268c1571b8250 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Use portable temporary directory implementation for Q_OS_INTEGRITY.Rolland Dudemaine2015-12-041-2/+2
| | | | | | | | | | Change-Id: I667dece31d6b60e67363d7b2cc26fdd0621641a8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add GHS toolchain architecture macros.Rolland Dudemaine2015-12-041-4/+5
| | | | | | | | | | Change-Id: I4967451d52443a5f301b3706bcbbc2713ae70942 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Use intrinsics for GHS toolchain for CPU feature detection.Rolland Dudemaine2015-12-041-1/+26
| | | | | | | | | | | | | | | | cpuid and cpuidex are available as intrinsics, but the GNU-style assembly is needed for xgetbv. Change-Id: Ib9f280ac6b69b7ffb9c39289b52fa4af5e2de9ba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add an else clause that clears the return value.Rolland Dudemaine2015-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | This avoids several warnings with the GHS toolchain, in the form: warning #111-D: statement is unreachable This is because the sizeof() equality test is statically determined, but the following code is not discarded automatically. It is when using an explicit else clause. Change-Id: Ic0584aafc72f70badcf5285ab635f9d99eac161a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove inclusion of sys/sem.h for INTEGRITY.Rolland Dudemaine2015-12-041-1/+1
| | | | | | | | | | | | | | On INTEGRITY, the header does not exist and is not needed for compilation. Change-Id: I7e473c30d23f213a31fc39ad4ef86c06db299f16 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QAbstractItemModelPrivate::Change: add some constexprMarc Mutz2015-12-031-4/+4
| | | | | | | | | | Change-Id: Ie852a20463af42db7d9959f8b79512e0d521e73d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>