summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Aarch64: Vectorize ucstrncmp of QChar arraysErik Verbruggen2016-11-111-0/+24
| | | | | Change-Id: I0b3f9d975bfdf6839b97f5753f299074dbf8face Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QObject: remove unused function qt_find_obj_childOlivier Goffart2016-11-092-32/+0
| | | | | | | | | qt_find_obj_child is a vestige from Qt3. It is not used nor exported. It can safely be removed. Change-Id: Ief6164c361a369559e067b99880c357e421e6342 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Nitpick: fix style in QtCore codeAnton Kudryavtsev2016-11-071-2/+2
| | | | | | Change-Id: I28ab07f950c0992a2f3e14d139363d6c1b8af673 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'gerrit/5.8' into devTor Arne Vestbø2016-11-053-21/+46
|\ | | | | | | Change-Id: Ib31cae9b57f6fb078739c409162bf2987eb430ad
| * Fix build with ICC on macOS: <atomic> is properly supportedThiago Macieira2016-11-041-7/+0
| | | | | | | | | | | | | | | | I'm guess I introduced the regression in the commit 18ed6f20ad4327fa2ffbb687ac2f3ca7429c4348, which I wasn't sure about. Change-Id: Ic46ff326a6ba46bc877cfffd14839f84fdf796e7 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Add missing QBIG5CODEC_LICENSE.txt fileKai Koehne2016-11-041-0/+25
| | | | | | | | | | | | | | Add file that was forgotten in eb9681397609eee38703f. Change-Id: Ib288bfc1f1f9cb4857e42f2fa3fe750e23b56aea Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * QString: optimize replace(QChar, QChar, Qt::CaseSensitivity)Anton Kudryavtsev2016-11-011-14/+21
| | | | | | | | | | | | | | | | Only detach() if the string does contain the character to be replaced. Save memory allocations. Change-Id: I69c070d3f0b99f505fb6c209f657cdce31a35461 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-0251-12236/+13375
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-0120-11355/+12904
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-274-29/+29
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.h src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileenginefactory.h src/plugins/platforms/ios/qiosintegration.h src/widgets/widgets/qcombobox.cpp tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp Change-Id: Ibaee7cbbba99e7c4b1d8926e55932ffa6030ce45
| | | * Document that qFuzzyCompare does not work on NaN or infinityAndré Somers2016-10-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a discussion in the Development mailing list it became clear that qFuzzyCompare does not work for NaN or infinity values. That was not mentioned in the method documentation though. This patch fixes that hiatus. It also clarifies how to deal with the comparing to 0.0 limitation. Change-Id: I8b6d54cc0c1136e79b0d7be1a62bc9ed394d2575 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
| | | * qversiontagging.h: Don't tag binaries in static modeThiago Macieira2016-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though there should have been no ill-effects, they happen. Task-number: QTBUG-52605 Change-Id: I9093948278414644a416fffd147444078edc3183 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Darwin: normalize all watched paths to composed fromErik Verbruggen2016-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be done by all POSIX APIs for strings coming in that way, but because other code (like NSWhateverViews) will most likely return decomposed form, we make sure that those are in composed form too. Task-number: QTBUG-55896 Change-Id: I065e11cee6b59706d4346ed20d4b59b9b95163b8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * Remove type punning from ucstrncmpErik Verbruggen2016-10-231-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Type punning is UB. Change-Id: I0022d2a38136d80f5ddda21cea7dc0968c736242 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-2215-11333/+12889
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/eglfs/qeglfshooks.cpp Change-Id: I483f0dbd876943b184803f0fe65a0c686ad75db2
| | | * QFileInfo: fix double sentence in apidocFrederik Schwarzer2016-10-211-2/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie1cf32565b2fcb828ec381c45595adad1392e2ec Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | * Fix some typos in docs and apidocsFrederik Schwarzer2016-10-214-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While "commonest" is still correct English, it's rather old-fashioned and "most common" predominates Qt's wording style. Change-Id: I20d72c098ee40b2a89f91e42f7208fe5b87286a2 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | * Normalize realpath(3) output to composed formErik Verbruggen2016-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All strings coming out of POSIX API calls are converted to composed form by QFile::decodeName. Do the same for realpath(3) output. This is especially important for HFS+, which will store file names in decomposed form, and APIs will therefore return strings in decomposed form. Task-number: QTBUG-55896 Change-Id: I5e51f4e5712ff26bf9644cbcf9a9603995748892 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * QUrl effective TLDs: update tableKai Koehne2016-10-212-11304/+12851
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are more than 1000 new entries since the table has been generated the last time. The autotest needs to be tweaked because the rules for the .mz domains have changed; use the .ck domain instead. Change-Id: Ife692afd46ac41a66604e966e5e8cb57c7aa649c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QOrderedMutexLocker: unlock in reverse order of lockingMarc Mutz2016-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an improvement for the following reasons: - Should mutex locking allocate any kind of resource, unlocking in reverse order will free those resources in inverse order, which helps typical allocators. - If the lock pair is contended, by unlocking in the same order as locking, we were allowing the waiting thread to wake up to take the first lock just to find that the second lock is still held by someone else. The order of unlocking has no influence on the correct- ness of the algorithm. Change-Id: Id16b0342aef325c14a7bd8836d3a75db68ef2588 Reviewed-by: David Faure <david.faure@kdab.com>
| | | * Windows: Fix regression in QFSFileEnginePrivate::nativeWrite()Andy Shaw2016-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 0696566b1e19c8178e00c0d14f185935e17d9e8b caused the block size to be incorrect for data > 32MB. Since bytesToWrite changes within the do...while loop, then the block size can potentially change too each time. So it needs to be recalculated each time rather than just once. Task-number: QTBUG-56616 Change-Id: I9880d0985f2d0242c30e67230be7271eb806db95 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * QJsonDocument: fix repetition of 'document' in docAnton Kudryavtsev2016-10-191-2/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I8909336274b2c72e526d63fe9e21368550de6678 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Apple OS: Handle QSetting strings with embedded zero-bytesTor Arne Vestbø2016-10-184-16/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Saving strings with embedded zero-bytes (\0) as CFStrings would sometimes fail, and only write the part of the string leading up to the first zero-byte, instead of all the way to the final zero-terminator. This bug was revealed by the code-path that falls back to storing e.g. QTime as strings, via the helper method QSettingsPrivate::variantToString(). We now use the same approach as on platforms such as Windows and WinRT, where the string produced by variantToString() is checked for null-bytes, and if so, stored using a binary representation instead of as a string. For our case that means we fall back to CFData when detecting the null-byte. To separate strings from regular byte arrays, new logic has been added to variantToString() that wraps the null-byte strings in @String(). That way we can implement a fast-path when converting back from CFData, that doesn't go via the slow and lossy conversion via UTF8, and the resulting QVariant will be of type QVariant::ByteArray. The reason for using UTF-8 as the binary representation of the string is that in the case of storing a QByteArray("@foo") we need to still be able to convert it back to the same byte array, which doesn't work if the on-disk format is UTF-16. Task-number: QTBUG-56124 Change-Id: Iab2f71cf96cf3225de48dc5e71870d74b6dde1e8 Cherry-picked: 764f5bf48cc87f4c72550b853ab93b815454cd48 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QOrderedMutexLocker: fix UB (pointer comparison with <) in static relock()Marc Mutz2016-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comparing pointers that do not point into the same array using operator< is UB. You need to use std::less<>. The QOrderedMutexLocker ctor already used std::less to compare pointers, but the static relock() function was not fixed. Amends 50073521649e3818d87920751ab95acd2c2dfd15. Change-Id: I584d382391dd5a2af75020a4e77f3e42ee5d5708 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * | Qt 5.7 requires C++11 so this hint is not needed anymoreFrederik Schwarzer2016-10-181-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7e267c69ccf3835e4d69b4c612f1baaf40d8be39 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-173-3/+11
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/macx-ios-clang/features/resolve_config.prf src/testlib/qtestcase.qdoc Change-Id: Icefa63056ffb37106f35299a8f19165535571799
| | | * QMimeXMLProvider: add missing out-of-line destructorJ-P Nurmi2016-10-132-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build with the latest GCC 7. Change-Id: I4900a256ed1c6cb177d7f94d54e5b07c06ddad08 Task-number: QTBUG-56514 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | * Document that am/pm in QDateTime::toString are locale-specificKai Koehne2016-10-131-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I28382b25ac94cbfbad4acff1308ddd8baf5ca693 Task-number: QTBUG-55632 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | | Document license for CLDR data in Qt CoreKai Koehne2016-10-283-22/+46
| | | | | | | | | | | | | | | | | | | | Change-Id: I21bf76a5603f3384fccad46a16b7304380a7a444 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Remove legalese text from QLocaleKai Koehne2016-10-281-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mentioned functions are now documented in src/3rdparty/freebsd. Anyhow, the license and copyright differs ... Change-Id: Ib59ace624d1d8244f591668ed05993787ca65d24 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | Document use of BSD code in Qt CoreKai Koehne2016-10-2812-238/+329
| | | | | | | | | | | | | | | | | | | | Change-Id: I31305e40dc57ddd37e5ef35a52cc99dc7ebb3bc5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Recontribute QUrl::fromUserInputJames McDonnell2016-10-271-30/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recontribute QUrl::fromUserInput under the corporate license agreement; i.e. remove the separate BSD license from the code. Change-Id: I1e0b4aab921fb20d2fd558fe732cea596ecbc9ca Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Fix QStandardPaths::FontsLocation to be compliant with the latest XDG specLars Knoll2016-10-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the latest XDG spec, FontsLocation should point to XDG_DATA_DIR/fonts, not ~/.fonts. Task-number: QTBUG-55507 Change-Id: Ia62ffe172abbb93d5ce7fd58bdf038ff13954f1b Reviewed-by: David Faure <david.faure@kdab.com>
| * | | Replace PKGCONFIG+=foo usages with QMAKE_USELars Knoll2016-10-262-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | replace explicit pkg-config uses with the results of configure tests, for consistency. Change-Id: I3587db6085798ea7a49f8871fc6838eb687a6391 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | Remove QSegfaultHandler classKai Koehne2016-10-263-502/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The origin of the class predate git history, but it has been apparently unused in Qt since Qt 4.5 times. Removing this relieves us from documenting its custom license. Change-Id: Ie91be5f0b2fbaf10dc212c44ebd37e6b9d781592 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Include intrin.h header when using MSVCJesus Fernandez2016-10-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows the usage of _BitScanForward, _BitScanReverse, __popcnt and __popcnt16 functions. Fixes part of the build with MSVC15. Change-Id: I5ec37184209196ad19beddb4d6a36f9a9fd3b315 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Fix description of feature 'topleveldomain'Kai Koehne2016-10-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The property is 'purpose' now. Also elaborate a bit more on the feature. Change-Id: I66aa4165044f132dff018cfd01d54b939bb64fac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Add Qt::ISODateWithMs date format, with support in QTime/Date/DateTimeTor Arne Vestbø2016-10-203-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Qt::ISODate format strips milliseconds, so a new format is introduced that keeps the milliseconds. A new format was chosen over fixing the existing format due to the behavioral change of suddenly having ms as part of Qt::ISODate. Change-Id: If8b852daed068cce8eee9b61a7cd4576bc763443 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QLocale: optimize string usageAnton Kudryavtsev2016-10-181-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QStringBuilder more. Avoid quadratic behavior when prepending zeros in a loop, prepend whole string intead. Use const API more for CoW types. Change-Id: If114107dc3d9876b9a7c77bc0071878cb6e00892 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QJsonDocument: enable NRVO for gcc in toJson()Anton Kudryavtsev2016-10-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1b639272d38f8463b17a85a406addb74bb572756 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QJsonDocument: don't re-call QVariant::type() in if-else chainAnton Kudryavtsev2016-10-181-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace if-else chain with switch statement. Change-Id: Idd2d0198178685bdaf8f77fa6cae5025ea9de561 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QTimer: don't circumvent <chrono> safety netMarc Mutz2016-10-182-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By templating on the <chrono> types and unconditionally using duration_cast to coerce the duration into a milliseconds, we violate a principal design rule of <chrono>, namely that non- narrowing conversions are implicit, but narrowing conversions need duration_cast. By accepting any duration, we allow non- sensical code such as QTimer::singleShot(10us, ...) to compile, which is misleading, since it's actually a zero- timeout timer. Overloading a non-template with a template also has adverse effects: it breaks qOverload(). Fix by replacing the function templates with functions that just take std::chrono::milliseconds. This way, benign code such as QTimer::singleShot(10s, ...) QTimer::singleShot(10min, ...) QTimer::singleShot(1h, ...) work as expected, but attempts to use sub-millisecond resolution fails to compile / needs an explicit user- provided duration_cast. To allow future extension to more precise timers, forcibly inline the functions, so they don't partake in the ABI of the class and we can later support sub-millisecond resolution by simply taking micro- or nano- instead of milliseconds. Change-Id: I12c9a98bdabefcd8ec18a9eb09f87ad908d889de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | stop exporting the library versionsOswald Buddenhagen2016-10-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all users of this functionality have been removed, and not emitting the version info saves quite some noise from the generated files. the reason why the users have been removed is that it was unreliable in the first place: if a dependency is found without pkg-config, no version information would be available. the extraction of the version via pkg-config itself is kept in place, as configure tests could be potentially optimized by utilizing it. this reverts much of commit 48b4e0bf6f. Change-Id: I01917f3b2a56b747d7cc54955141d20d23d0990a Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Explicitly mark old macros as compatibility synonymsJake Petroules2016-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia471fff171b3bc3de40e166e18f30e6782581611 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | use helper libs via QMAKE_USEOswald Buddenhagen2016-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for that, qt_help_lib.prf gains the ability to write "external module pri" files that contain suitable information for QMAKE_USE. these files have a bunch of limitations: - they are not installed, because a) they are not relocatable and b) the helper libs' headers are not installed, either - it won't work with qmake -r, which is ok, as qt5 does not build with qmake -r anyway - deps are not transitive, neither at build nor at use time the freetype, harfbuzz-ng, pcre, and png helper libs have been adjusted accordingly, and their uses replaced with QMAKE_USE instances. this also allowed inlining the now trivial {harfbuzz,pcrc,png}_dependency.pri files. freetype_dependency.pri remains due to its funkiness. Change-Id: I16890eecb122e34ec49f3d3e68380d1ea71a198a Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * | | Add optimize-for-size case to ucstrncmpErik Verbruggen2016-10-141-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SSE code had a case where tail-loop unrolling was disabled when optimizing for size. What would be even shorter, is to just do a straight-forward loop over the arrays and compare them. For anything else, we can just go for speed. Change-Id: Ifb31650e10e41409972a38014067dbd2927674c9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | QOperatingSystemVersion: add Android Nougat MR1 (v7.1, API level 25)Jake Petroules2016-10-283-1/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I1c391fc06b6fc5bb97d402ab3c3bc40520d26269 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | QOperatingSystemVersion: add separate variables per Android API levelJake Petroules2016-10-282-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's nonsensical to have a variable like AndroidJellyBean which is documented as Android versions 4.1 through 4.3 but is actually codified as 4.1. Add separate variables for Android "maintenance releases" which incremented both the version number and API level. "MRn" where n is an integer is the same naming convention the Android APIs use. The only exception to this rule is Android 4.4W (API level 20) which was KitKat for watches. 4.4W is not a representible or comparable version number, so for now, AndroidKitKat will identify both Android 4.4 and 4.4W (API levels 19 and 20). As Qt does not yet support Android Wear, this is not expected to be a problem in practice. Change-Id: I28473bad86bbe747db292bd0a9a164eeeba56a32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | QStringRef: add isRightToLeft()Anton Kudryavtsev2016-10-252-24/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isRightToLeft() was missing in the API. Change-Id: I49bc30e4c50f5693eb613c200587acba85074f33 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | qsettings_win.cpp: Use qt_error_string()Friedemann Kleint2016-10-241-23/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the errorCodeToString() which is duplicating the functionality and does apparently not work. Change-Id: Ib1ca2dfed630b10d01c0acf278c42eb851405b46 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>