summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Use context when connecting to functors in docsFrederik Gladhorn2018-07-161-1/+3
| | | | | | | | | This is the introduction text to signals and slots and should rather show best practices. Using context is generally advisable to have life-time of connections under control. Change-Id: I213b13d978a38e13834cdbccf1bea06d53ba8320 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: harmonize toDouble() and toFloat() for QString and QByteArrayAndre Hartmann2018-07-143-1/+34
| | | | | Change-Id: Ic81461899c73c8a68bc3b8bdc1de4be4dd6bdf27 Reviewed-by: Martin Smith <martin.smith@qt.io>
* QCborArray: add const_iterator overloads for insert/erase/extractThiago Macieira2018-07-142-0/+9
| | | | | | | | | They return regular iterators, since the container has been modified. Change-Id: Id59bdd8f1a804b809e22fffd153f92d4460f9b76 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCborMap: make take() & remove() efficient if the item isn't thereThiago Macieira2018-07-141-8/+8
| | | | | | | | | By using constFind(), we won't detach if the item isn't there. Both extract() and erase() can take const_iterators. Change-Id: Id59bdd8f1a804b809e22fffd153f92989ef84644 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CBOR: Use "noexcept" directlyThiago Macieira2018-07-148-49/+49
| | | | | | | | | | | All supported compilers support it. Doing this just for the new API. We should do it throughout Qt, but only if it won't interfere with the header review. Change-Id: Id59bdd8f1a804b809e22fffd153f9254688e5152 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QCborValue: Silence Coverity warning about null-pointer dereferenceThiago Macieira2018-07-141-2/+2
| | | | | | | | | | | | It's a false positive, since we've checked that the item HasByteData. But it's cheap to rewrite so the warning is silenced. >>> CID 190741: Null pointer dereferences (NULL_RETURNS) >>> Dereferencing a null pointer "this->byteData(idx)". Change-Id: If48c5c2e920c433298f1fffd153f7534be42a30b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QCborValue/QDebug: restore decimal state after hexThiago Macieira2018-07-141-1/+1
| | | | | | | | | | Found by Coverity: >>> CID 190746: API usage errors (STREAM_FORMAT_STATE) >>> Changing format state of stream "dbg" for category basefield without later restoring it. Change-Id: If48c5c2e920c433298f1fffd153f74f9bbe7ef29 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Make sure there's an event dispatcher in QWindowsRemovableDriveListenerThiago Macieira2018-07-141-1/+3
| | | | | | | | | | | | | | | | In order to add the listener, we need to hook into the internal HWND. Creating the QThreadData (thus adopting the thread) and the event dispatcher are ok because they would happen anyway. QFileSystemWatcher works only with the Qt event loop. [ChangeLog][QtCore][QFileSystemWatcher] Fixed a bug that caused addPaths() to crash on Windows if adding a path to be watched on removeable storage, if that addPaths() was called on a thread not created by QThread and no QEventLoop has been created yet. Task-number: QTBUG-69320 Change-Id: If48c5c2e920c433298f1fffd153ee20bea56c62f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QThread: Centralize the creation of the event dispatcherThiago Macieira2018-07-146-20/+22
| | | | | | | | | | | In some places we call startingUp(), in others we don't. It's probably ok for those that have just created an object of a given class, which knows whether the virtual call is necessary or not. But for the generic case, we do call it. Change-Id: If48c5c2e920c433298f1fffd153ee1cc75703204 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Windows+ICU buildThiago Macieira2018-07-141-12/+13
| | | | | | | qstring.cpp(6655): error C2065: 'lhs': undeclared identifier Change-Id: Id59bdd8f1a804b809e22fffd15405ed7607bdaca Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QStringView: Add compare() member functionFriedemann Kleint2018-07-132-0/+17
| | | | | | | | | | There was no public API for doing case-insensitive comparisons of QStringView. Task-number: QTBUG-69389 Change-Id: I1b021eefec35e135b97fb87704c8dc137232d83d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow loading of empty translation filesKai Koehne2018-07-121-6/+4
| | | | | | | | | | | | | | | | | | | | | Do not return false for loading an empty .qm file - that is, a valid file without any translations. We're already shipping empty .qm files for English translations of Qt since a while, mainly as a stop for the QTranslator::load(const QLocale &, ...) logic. Note that QCoreApplication::installTranslator() will still return false for an empty translation file - which is ok, because it arguably does not make much sense to install it. [ChangeLog][QtCore][QTranslator] It is now possible to load qm files without any translations. This is particularly useful for the language the untranslated strings are written in; logic to load translations can now handle the source language like all other languages. Task-number: QTBUG-31031 Change-Id: Ibcb84aa755538cb2fa21b14f8635295a58440bbb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QLocale: Convert the ok checks to nullptrAndre Hartmann2018-07-091-12/+12
| | | | | | | And stick to one style in the same file. Change-Id: I8a9a15425dadf4b480f63b68860de9276dbb787c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Plugins: remove unused macroThiago Macieira2018-07-091-1/+0
| | | | | Change-Id: I117816bf0f5e469b8d34fffd153db690b7ca8de3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* SIMD: Change the way we declare constants for x86Thiago Macieira2018-07-091-86/+84
| | | | | | | | We need to use macros because MSVC is a crappy C compiler. Change-Id: Ieb48f7c0dd0e4e0fb35efffd153b8af62d34ebdf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLibrary: find AVX2 (Haswell) optimized plugins and librariesThiago Macieira2018-07-092-0/+28
| | | | | | | | | | | | | | | | | | | | Libraries are placed in a subdir "haswell/" of the main library dir, whereas plugins are simply named with ".avx2" appended to the plugin name (plugin.so.avx2). The "haswell/" library directory suffix is a convention found in glibc since version 2.26, whereas the ".avx2" and ".avx512" suffixes are a convention found in the Clear Linux OS for Intel Architecture. This patch implements this for all Unix OSes, except for Darwin, where the fat file format already has a sub-architecture for Haswell (x86_64h). We could also implement the "sse2/" subdir search for libraries, but I don't think it's worth the cost in 2018. Change-Id: Iff4151c519c144d580c4fffd1539fe5ee9a4d7b1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* SIMD: Add a haswell sub-architecture selection to our supportThiago Macieira2018-07-091-1/+42
| | | | | | | | | | | | | | | | | As the comment says, Haswell is a nice divider and is a good optimization target. I'm using -march=core-avx2 instead of -march=haswell because the latter form was only added to GCC 4.9 but we still support 4.7 and that has support for AVX2. This commit changes the AVX2-optimized code in QtGui to Haswell- optimized instead. That means, for example, that qdrawhelper_avx2.cpp can now use the FMA instructions. Change-Id: If025d476890745368955fffd153129c1716ba006 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QByteArray: toInt() and toDouble() ignore surrounding whitespacesAndre Hartmann2018-07-075-12/+54
| | | | | | | | | | | | | [ChangeLog][QtCore][QByteArray] QByteArray::toInt(), QByteArray::toDouble() and the other number conversion functions now ignore leading and trailing whitespaces, as their QString counterparts already did. For consistency reasons, the same behavior was added to qEnvironmentVariableIntValue() also. Task-number: QTBUG-66187 Change-Id: I8b5e478ea8577b811d969286ea9e269f539c1ea4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix QString::localeAwareCompare with composed/decomposed strings on macOSSimon Hausmann2018-07-061-11/+10
| | | | | | | | | | | | | | | | | Similar to commit cd64a96b31f57e522ab8d29c8357acf384012ebe we also need to normalize the strings before comparison in order to be compliant with the ECMAScript test suite. This patch also adds the remaining test cases from built-ins/String/prototype/localeCompare/15.5.4.9_CE. Since the same tests are also failing with strcoll/qt_compare_strings, this simplifies the code to always normalize except when using ICU (which gets it right by default). Change-Id: I16b32da7fc70dc7e6725c49f66fe9941d0bf3a47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QCborArray & Map: implement move semanticsThiago Macieira2018-07-055-16/+70
| | | | | | | | | | | There isn't a lot of efficiency gain, since QCborValue was already refcounted. This saves two atomic operations and an out-of-line call. In the case of QCborValueRef (which includes QCborMap), because we reset the container pointer in inline code, the call to QCborValue::dispose() is also suppressed. Change-Id: Icc2c231dc2c44abdb087fffd1533eaba7a9c70fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QFutureInterface::reportFinished use nullptr instead of 0Albert Astals Cid2018-07-051-1/+1
| | | | | | | | So that users don't get a warning if using -Wzero-as-null-pointer-constant Change-Id: Ia15b5f380a2f6a93e05eec06646608e480cdf5d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCborValue: refactor extended types so isTag() is trueThiago Macieira2018-07-052-57/+32
| | | | | | | | | | | | | This makes QCborValue more future compatible, as code written today for tags that QCborValue does not recognize will continue to work if QCborValue gains support for it in the future. This change also obviates the need for reinterpretAsTag(), which I had not written unit tests for as I knew this change was coming. Change-Id: I052407b777ec43f78378fffd15302bdc34f66755 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QCborMap: Add reserve() to the QHash conversionThiago Macieira2018-07-051-0/+1
| | | | | | Change-Id: Id4c99d74841842cfa442fffd15371720f9566708 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* CBOR: Avoid conflicts with X11 #defines in our enumsMichael Pyne2018-07-043-0/+36
| | | | | | | | | | Since the .cpp files in the implementation don't actually include the offending X11 headers they don't need the fix. This just adjusts the headers themselves to unbreak the namespace for just long enough to declare the right enums. Change-Id: If33757aa2289f8fe7b81836f9c08b0ad4592bc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Tracepoints: add missing includeGiuseppe D'Angelo2018-07-041-0/+2
| | | | | | | So to make qtrace_p.h self-contained. Change-Id: Ic94b20334b495cc8f9c6ff7b481ef3bd7621df08 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Tracepoints: trace QObject construction and destructionGiuseppe D'Angelo2018-07-042-0/+8
| | | | | Change-Id: I10f5ef391a2d3059ed5e8a26afe5e191adc31e85 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Doc: Fix list of which types are allowed in the endian functionsThiago Macieira2018-07-041-8/+14
| | | | | | | | | This commit also fixes a grammar mistake (endian → endianness) and the fact that some functions failed to list that they supported the unsigned integer types as template arguments. Change-Id: I19445f335e82420fa654fffd15334e52ef3e744d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Improve the UTF-16 and UTF-32 codecs with <qendian.h>Thiago Macieira2018-07-041-28/+12
| | | | | | | | This is just the low-hanging fruit. Those algorithms could be much further improved, but they are so seldom-used that it's not worth it. Change-Id: I6a540578e810472bb455fffd15332b2a7a1ac901 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add qbswap for a memory regionThiago Macieira2018-07-046-26/+323
| | | | | | | | | | | | The compiler was generating some vectorized code for qresource.cpp but it wasn't very efficient. So improve upon it and make use in other places where we read UTF-16BE strings. [ChangeLog][QtCore] Added an overload of q{To,From}{Big,Little}Endian that operates on a memory region. Change-Id: I6a540578e810472bb455fffd1531fa2f1d724dfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename qendian.qdoc to qendian.cppThiago Macieira2018-07-041-0/+0
| | | | | | | I'm going to add code in the next commit. Change-Id: I6a540578e810472bb455fffd153329de04c1c332 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QCborValue: implement move semantics for QCbor{Array,Map} constructorsThiago Macieira2018-07-044-0/+13
| | | | | | | | Happens a lot because of the implicit conversions. So I made it inline. Change-Id: Icc2c231dc2c44abdb087fffd1533f311b95460b8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCborArray & Map: implement efficient take() / extract()Thiago Macieira2018-07-046-10/+166
| | | | | | | | | | | | Questions: 1) should QCborMap::extract return value_type (a pair) instead of just the value? 2) should the both return the iterator to the next element too, like erase()? Change-Id: I052407b777ec43f78378fffd15302a9c14468db3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CBOR: Complete the conversions between CBOR, JSON and Qt meta typesThiago Macieira2018-07-043-8/+376
| | | | | | Change-Id: I56b444f9d6274221a3b7fffd150d3130db6ef1a0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Metatype: make the Qt CBOR value-like types built-in meta typesThiago Macieira2018-07-045-4/+38
| | | | | | | | This change only adds them to the registry and reserves the IDs. The next commit will handle conversions. Change-Id: I56b444f9d6274221a3b7fffd150d2d49f40940c2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CBOR: Add QDebug operators for the Qt CBOR value-like typesThiago Macieira2018-07-048-0/+217
| | | | | | | | | | I added a function that returns the string identifiers for QCborKnownTags and QCborSimpleType, in order to facilitate writing a QTest::toString for those types, as neither enum is part of a Q_OBJECT or Q_GADGET class. Change-Id: I56b444f9d6274221a3b7fffd150d2d26a1925c19 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-07-0234-334/+366
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
| * Fix metatype trait for types that are both QObject and Q_GADGETDaniel Vrátil2018-06-301-2/+2
| | | | | | | | | | | | | | | | | | | | Fixes ambiguous template instantiation for types that derive from both a QObject and Q_GADGET. For such types we treat them only as QObjects as they extend the functionality of the gadget. Task-number: QTBUG-68803 Change-Id: Ic42766034e14e5df43c4e6f7811e2c0be1dc7e74 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Replace LGPL licenses in .qdoc files with FDLKai Koehne2018-06-285-105/+45
| | | | | | | | | | | | | | | | .qdoc files should only be licensed under FDL (for documentation) or BSD (if they only contain code). Change-Id: I2a8a5b2c7bd3f927b8f71506c3672bc4916aca1e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * QtCore/QtNetwork/QTestlib: Fix build with MinGW/g++ 8.1 x64Friedemann Kleint2018-06-252-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings about invalid function type casts (return types conflicting with the FARPROC returned by GetProcAddress()) like: corelib\global\qoperatingsystemversion_win.cpp:100:48: error: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'RtlGetVersionFunction' {aka 'long int (*)(_OSVERSIONINFOW*)'} [-Werror=cast-function-type] io\qlockfile_win.cpp:158:85: error: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'GetModuleFileNameExFunc' {aka 'long unsigned int (*)(void*, HINSTANCE__*, wchar_t*, long unsigned int)'} [-Werror=cast-function-type] by introducing nested casts. Task-number: QTBUG-68742 Task-number: QTQAINFRA-2095 Change-Id: I3a5d2ea901bf5dc35963c589d61cf3dc7393377a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Leave m_id clear if the JNI didn't give us a time-zoneEdward Welbourne2018-06-221-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | QTimeZonePrivate::isValid() just checks m_id is non-empty; so we have to leave m_id clear if we don't get a valid time-zone back when we ask the JNI for one. Unfortunately, JNI gives us a "valid" default zone if it doesn't recognize the given name; so check the known names of this zone (or of zones with its offset); if the given ianaId isn't one of them, assume this is a bogus zone. Task-number: QTBUG-68842 Change-Id: I6245db18c59c4261ed5fcd4d948dd773365ce61d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QLocale/QString/QByteArray: Use nullptr in documentationAndre Hartmann2018-06-223-108/+110
| | | | | | | | | | | | | | | | While at it, fix some more issues in the sentences to harmonize the description between the different classes. Change-Id: Iee1c3ffe6fd71e82504bfb003d927c4db3b2a065 Reviewed-by: Martin Smith <martin.smith@qt.io>
| * Doc: Fix signal name in QTimer documentationJoerg Bornemann2018-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | QTimer emits timeout(), not activated(). Task-number: QTBUG-68798 Change-Id: I4fffce01d409e1fbc433e11c962c4e1921f76f2d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * QLocale: Remove misleading link to QString::toDouble() conversionAndre Hartmann2018-06-221-6/+10
| | | | | | | | | | | | | | | | While at it, add the comment to the toFloat() functions also. Task-number: QTBUG-55232 Change-Id: I21c06363946f35fb3d89a51e4f75be392b57c0a9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QString: Harmonize the toFloat() and toDouble() documentationAndre Hartmann2018-06-221-3/+12
| | | | | | | | | | | | | | | | Both use QLocale::toDouble behind the scenes, so the same limitations apply. Document them for toFloat() also. Change-Id: I954362a0db203630685c034df6a921fa6447a509 Reviewed-by: Martin Smith <martin.smith@qt.io>
| * Doc: Improve description of QModelIndex::operator==Paul Wicking2018-06-211-10/+8
| | | | | | | | | | | | | | | | | | | | List the values that are compared by the comparison operator overloads, rather than the less specific "all values". Task-number: QTBUG-68877 Change-Id: Id4df02b9019e13113fd38a598b8349293fab7915 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * QDataStream: Fix inlining of operator<<,>>() for quint32Friedemann Kleint2018-06-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The inline operators are referenced by the container serialization helper code above the definition, causing g++ 8.1/MinGW to complain: In file included from ..\..\include/QtCore/qdatastream.h:1, from access\qnetworkaccessdebugpipebackend.cpp:41: ..\..\include/QtCore/../../src/corelib/serialization/qdatastream.h:349:21: error: 'QDataStream& QDataStream::operator>>(quint32&)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror] inline QDataStream &QDataStream::operator>>(quint32 &i) ^~~~~~~~~~~ ..\..\include/QtCore/../../src/corelib/serialization/qdatastream.h:361:21: error: 'QDataStream& QDataStream::operator<<(quint32)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror] inline QDataStream &QDataStream::operator<<(quint32 i) Declare the operators to be inline to fix this. Task-number: QTBUG-68742 Task-number: QTQAINFRA-2095 Change-Id: Ifa075aff8749df5c7a56148b8b9a0e3ec1e853aa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Doc: Add missing full stops in briefsPaul Wicking2018-06-219-11/+11
| | | | | | | | | | | | Task-number: QTBUG-68933 Change-Id: I3f2a9f8c562f9a44bb32bddd31d75abbfe6de04d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * Merge remote-tracking branch 'origin/5.11.1' into 5.11Qt Forward Merge Bot2018-06-195-72/+112
| |\ | | | | | | | | | Change-Id: I9a4571ccf826a86e055dfbba23b5e5cbd8ea55e8
| | * CMake: Restore qt5_use_modules() functionKevin Funk2018-06-151-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears that in the 5 years since we deprecated this function, people have not stopped using it. The removal of qt5_use_modules() caused lots of troubles in packages still using it when they were compiled against Qt 5.11.0. Instead, let's revive this function and keep it for the Qt5 life time. See discussion on qt-development mailing list: http://lists.qt-project.org/pipermail/development/2018-June/032837.html Change-Id: Ic263e3bb6706268cb9ea38a0711665f166a3aa9e Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Access private properties via sandbox-safe API on Apple OSesTor Arne Vestbø2018-06-143-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We detect whether or not we're running inside a sandbox and bail out if so. We use runtime lookup of the property, so that static analysis of the application will not mistakenly think we're using the API in sandboxed situations. Change-Id: I5f5c42f5a4a44b62de061d945b62ac63167ece09 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>