summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make sure the metatypes are installed in prefix buildsUlf Hermann2019-11-134-6/+7
| | | | | | | | | | | The JSON collection step has to be target_predeps in order to be executed if the only place its output is referred to is INSTALLS. Furthermore, some CONFIG options clear the INSTALLS variable. Therefore, we need to add the metatypes CONFIG entries after those. Change-Id: I4694ab1d82c13cb4e3886c1722a03255d14b7f29 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* In prefix builds, copy metatypes JSON to MODULE_BASE_OUTDIRUlf Hermann2019-11-131-2/+12
| | | | | | | | | | | Otherwise we cannot find them when building further projects within the same module. For example, qmlmodels needs the metatypes of qml in order to build its plugins.qmltypes file, but the QML metatypes would only be available after installing. Change-Id: Ic2cdfa5b57fd3e5977eea16f2a9b192386737a1f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* eglfs: kms: Make threaded atomic drm workLaszlo Agocs2019-11-134-41/+50
| | | | | | | | | | | | | | | | | | | | The atomic modesetting support was not prepared for page flips being issued from different (per-screen) threads. This could be seen with the threaded render loop of Qt Quick: having a QQuickWindow per screen means having a dedicated render thread for each screen. QKmsDevice used simply instance variables to keep track of the request. This leads to the commit failing with EBUSY sooner or later. Make the atomic request and related variables thread local. This prevents failing drmModeAtomicCommit() with 2 or more screens and the threaded render loop. It does not fix other potential issues when waiting for page flips to complete, that is to be tackled separately. Task-number: QTBUG-74953 Change-Id: I2dac10d5e9bdc0cb556ac78c9643c96d40d692e4 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Make QObjectPrivate::threadData a proper atomicGiuseppe D'Angelo2019-11-1318-126/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QObjectPrivate::threadData used to be a QThreadData *, and was read and written from multiple threads without proper synchronization. As an example, it was read from QCoreApplication::postEvent and written from QObject::moveToThread, therefore causing UB. Port threadData to a proper atomic, removing the races. Fix all usage points. In general, QObject is documented to be simply reentrant, not thread-safe, and certain bits (e.g. timers, moveToThread) are not even reentrant. The reasoning therefore is that a given QObject's threadData is not supposed to be touched by multiple threads without some synchronization happening elsewhere, and therefore relaxed loads should be sufficient. As drive-by change: refactor QCoreApplication::postEvent. It was particularly subtle, because it had a loop using a volatile to cope with the possibility of the receiver object switching thread while we tried to lock its thread's event queue. However, volatile does not achieve any synchronization, so drop it, and refactor the algorithm using better locking primitives. Put this algorithm in a common place, and also reuse it from removePostedEvents, which was lacking any synchronization. Change-Id: Icc755f7eb418ff54b33db4bdd87fd8eaf4e82c7a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEventDispatcherWin32: unify input checks in {un}register...()Alex Trotsenko2019-11-131-18/+18
| | | | | | | | | | | | | | The event manager has a family of the functions for registering sockets notifiers, event notifiers, and timers. To ensure efficient debugging, it would be useful to have one approach regarding input parameters validation for the entire set of that functions. Based on registerSocketNotifier() implementation, this patch offers the same debugging principles for QWinEventNotifier and QTimer. Some debug messages have also been refined. Change-Id: I1418ef43c51f7b794462b5e9c8a849633e0c60f9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QBasicTimer: release timer id on exitAlex Trotsenko2019-11-131-6/+4
| | | | | | | | | | | In some cases of inheritance, timer deletion can be triggered from the event dispatcher destructor where QThreadData::eventDispatcher is already nullptr. Despite the fact that the application is in shutdown phase, we should free the resource. Change-Id: I61ed1d817fd7638953f7d629823f19d4f6f1ee00 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Deprecate enumerators fro SSL v.2 and v.3 protocolsTimur Pocheptsov2019-11-131-2/+4
| | | | | | | | And we'll get rid of them in Qt 6. Task-number: QTBUG-75638 Change-Id: I34764f93bf579da0640a930d9160783ea9c8317d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* eglfs: kms: Choose unique primary planes for each crtcLaszlo Agocs2019-11-112-8/+31
| | | | | | | | | | | | Otherwise we end up with using the same plane for multiple crtcs, which fails (with atomic - planes have no importance when atomic is not enabled). This fixes systems where we run with atomic enabled and there are multiple primary planes with their possible_crtcs matching multiple crtcs. Task-number: QTBUG-74953 Change-Id: I8bcbdd389265d09f8851187881102fb5b9a83b5c Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* eglfs: kms: Allow overriding plane ids per crtcLaszlo Agocs2019-11-111-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With atomic enabled (QT_QPA_EGLFS_KMS_ATOMIC=1) the plane chosen for a crtc becomes important. The current logic is pretty broken when there are multiple planes available with many of them marked as being supported by multiple CRTCs. Choosing the same plane for multiple crtcs results in failing the atomic commit. This happens with a RPi4 with two screens connected, for example. (because there are 2*3 planes: one primary, one overlay, one cursor for each screen, but Qt is trying to use the same primary plane with both CRTCs) The issue does not surface in special environments where there is one (dedicated) plane per crtc exposed by drm, but becomes apparent on a PC or on the RPi where the setup described above is the common case. As a temporary solution allow doing the following: export QT_QPA_EGLFS_KMS_PLANES_FOR_CRTCS="49,28:78,57" This would then force using plane id 28 for crtc id 49, and plane id 57 for crtc id 78. (the ids can be discovered either from the eglfs debug logs, or by checking /sys/kernel/debug/dri/<N>/state) This is to be complemented with a fix for picking a unique primary plane for all CRTCs but that's going to be a separate patch. Allowing a manual override is important regardless since it helps troubleshooting. Task-number: QTBUG-74953 Change-Id: Ie03f80dac31813f2c4489235d435769dd3d3883e Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Disambiguate do_install target in metatypes.prfUlf Hermann2019-11-111-4/+4
| | | | | | | | | qmake matches those targets in a purely lexical way, disregarding any scopes. do_install is much too generic and clashes with another do_install target in the qmltypes installation code in qtdeclarative. Change-Id: I8edab329eacc548cee880a9182a1e5ae4dd095fb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Don't create duplicate plugins.qmltypes rulesUlf Hermann2019-11-111-1/+4
| | | | | | | | | If the qmltypes are generated by qmltyperegistrar, we should not offer a rule to generate them using qmlplugindump. Otherwise we get warnings from make. Change-Id: Ifb88cbff8e6c577f9889ff3f071bf31f48f634ad Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Make Qt aware of NTFS Junctions on WindowsRyan Chu2019-11-094-14/+47
| | | | | | | | | | | | | | | | | | | | | | On NTFS, a junction point can be created and deleted by the mklink and rmdir commands, respectively. If a directory is not identified correctly as a junction, then applications will likely try to remove it using recursive methods, leading to fatal data loss. With this change, Qt can identify file system entries as junctions, allowing applications to use the correct file system operation to remove it. The test needs to delay the cleaning up of junctions and files it creates until the checks are complete; since they might fail and make the test function return prematurely, use a scope guard. [ChangeLog][QtCore][QFileInfo] Add QFileInfo::isJunction so that applications can recognize NTFS file system entries as junctions Task-number: QTBUG-75869 Change-Id: I3c208245afbd9fb7555515fb776ff63b133ca858 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QWaitCondition: fix dummy QWaitCondition implementationChristian Ehrlicher2019-11-081-7/+14
| | | | | | | | | | The dummy implementation of QWaitCondition which is used when the thread feature is not available lacks some functions which were recently added. So we have to add them now. Change-Id: I32720e0857a1bd3fcf0e70078404a38dd8a8ca88 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Avoid erroneous creation of QScopedValueRollback objectsSimon Hausmann2019-11-081-1/+5
| | | | | | | | | | | | | | | | | | Mark the class as [[nodiscard]] to ensure that instances are given names and do not destruct (roll back) immediately. This avoids accidental code like this: QScopedValueRollback<Foo>(bar, baz); which rolls back instantly, when it should be QScopedValueRollback<Foo> blah(bar, baz); which rolls back at the end of the scope. Change-Id: I00269fe325b804078bd0a9d5058c941af7ba5597 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2019-11-08569-35396/+39787
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-08569-35396/+39787
| |\ | | | | | | | | | Change-Id: I963b5f48b5d6f3500ca379fbd7f1a4290b570175
| | * QHighDpiScaling: impove readability of screenSubfactor methodVitaly Fanaskov2019-11-071-10/+11
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-53022 Change-Id: Idae4379dd78d3125c375fad37a5a3af5bbcdc51e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Fix accuracy of ARGB32->A2RGB30 conversionsAllan Sandfeld Jensen2019-11-074-50/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was converted over ARGB32PM, when it should have been directly converted to not lose accuracy, instead there was an unnecessary direct ARGB32->RGB30 conversion, which was converted to the necessary type. This also improves the selection of conversion over ARGB32PM or RGBA64PM for ARGB32 and RGBA8888 by using 32-bit conversion when alpha is not relevant. Change-Id: I5990d8a23b2909d3910d8c1213fa46477742b052 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Simplify two complex test conditionsEdward Welbourne2019-11-071-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the test was fatuous for i == 0, iterate from i = 1, instead. Change-Id: I9b9c1b7b10639aefdd74f48051d592da4f84dc85 Reviewed-by: Jesus Fernandez <jsfdez@gmail.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Rationalize descriptions of date-time formatsEdward Welbourne2019-11-071-154/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document QDateTime's methods by reference to QDate and QTime, to avoid repetition. Use consistent descriptions between toString() and fromString(), in each case. Document the truth: various things were simply wrong, in at least some copies. Change-Id: Ie80017250cd470f65733f96d182ed7d043694f0e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * QHighDpiScaling: fix potential null pointer dereferenceVitaly Fanaskov2019-11-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not guaranteed that QPlatformScreen::screen should always return a valid pointer. Furthermore, you can run into this situation with, for example, two screens setup. Task-number: QTBUG-53022 Change-Id: Ic23bb2c30b1245f98a793a44cc5e0b39f9afac4b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Qt Forward Merge Bot2019-11-06546-35104/+39449
| | |\
| | | * Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-11-06546-35104/+39449
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/features/mac/default_post.prf src/corelib/tools/qsimd_p.h src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm util/qfloat16-tables/gen_qfloat16_tables.cpp Change-Id: If48fa8a3bc3c983706b609a6d3822cb67c1352a4
| | | | * macOS: Only skip screen reconfigure if primary screen changedTor Arne Vestbø2019-11-051-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia5d208ace5086e8e92f95f859383773894a18768 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit dcbe25bbbb603bc335d7cf0982a80293289b0d8f) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | * Move RESOURCE flattening code to dedicated functionJoerg Bornemann2019-11-052-57/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce resources_functions.prf with the test function qtFlattenResources which ensures that RESOURCES has a flat structure, e.g. only contains *.qrc entries. This can be called by other .prf files like qtquickcompiler.prf without disturbing the ability to extend RESOURCES in other .prf files. Task-number: QTBUG-79672 Change-Id: I43246e40f5ea52a9d9c917a1bd781aeeb1304acc Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | | | * If only family is set, prefer that in the families list after resolvingAndy Shaw2019-11-053-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a font with only a family set is resolved with one that has been setup with setFamilies() then the family needs to be prepended to the families list after resolving. This is so that the font still prefers the one set as just a family with no famillies set. This also amends the QFontDialog test to account for this too. [ChangeLog][QtGui][Text] Resolving a font that just has a family set with families set will prepend the family to the families so that it is still the first preference for the font. Task-number: QTBUG-46322 Change-Id: Icc4005732f95b2b4c684e592b06b31e133270e44 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * Fix regression in how "pkg-config --static" output is handledKai Koehne2019-11-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change a1ea49878927dfe2 did replace different pkg-config calls for -L, -l arguments to one. Anyhow, it also removed the eval() call that ensured that the return string was split by whitespace, meaning that paths couldn't resolve anymore properly if multiple arguments were returned. Fixes: QTBUG-79668 Change-Id: I4091fea6891ef79836e05f8e87ffa9d69863a8f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | | | * Fix cross-compilation to LinuxJoerg Bornemann2019-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CROSS_COMPILE variable wasn't picked up by the linux-g++ mkspec. Now it's possible to cross-build Qt on FreeBSD to Linux, for example. Fixes: QTBUG-79255 Change-Id: Ib1cd8ed3d5ef0af42f2d47af8f6d2c2ff5356adc Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Query the mouse buttons initially in case the middle button was usedAndy Shaw2019-11-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I99a3ef598bdaaba1afb6bf6521d1ceafcc9b603c Reviewed-by: André de la Rocha <andre.rocha@qt.io>
| | | | * QImageIOHandler: remove #if around virtual method name()David Faure2019-11-012-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes -DQT_DISABLE_DEPRECATED_BEFORE=0x050d00 (in an application) trigger a binary incompatible change and crash. Change-Id: I9b9783d134821697180dc3fd8f2f69a51ddb7ac6 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Doc: Add guidelines for writing Qt testsLeena Miettinen2019-11-013-6/+556
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on https://wiki.qt.io/Writing_Unit_Tests. Some of the guidelines will be added to the documentation of a particular class, function, or macro. Task-number: QTBUG-18368 Task-number: QTBUG-63987 Change-Id: Ied267edc71e370a07f5124ba05432799f595dda6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * AtSpiAdaptor: Fix QAccessible::TextUpdated notificationPeter Varga2019-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I47e445d085b130121fe44eb2d4afc830de3b884b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | | * Doc: Add best-practice-info for using QVERIFY() and QCOMPARE()Leena Miettinen2019-11-012-28/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://wiki.qt.io/Writing_Unit_Tests Task-number: QTBUG-63987 Change-Id: I7229ac0712d1207c0c9ebdac868c33bb35dcb0f0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | | | * Clarify Q{Abstract,Local}Socket::waitForDisconnected() documentationKari Oikarinen2019-11-014-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it clear that the functions will return false if the socket was already disconnected. Fix the QLocalSocket example snippet to handle that case correctly by checking state() before attempting to wait. Fixes: QTBUG-50711 Change-Id: I4ab4062446a0041a35a3a1d65a19202ffa103298 Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * wasm: take canvas offset into accountLorn Potter2019-11-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes issue with dialogs when the canvas is not at 0,0 in the browser window Change-Id: I14f6754746e064921635d6b3af3353bf3620ac44 Fixes: QTBUG-79160 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | | * Doc: Update info about QSKIP()Leena Miettinen2019-10-311-15/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a section about using QEXPECT_FAIL() to skip known bugs. Change-Id: Icf258b6e20add3b68d62e404fd9ac0db70420bf2 From: https://wiki.qt.io/Writing_Unit_Tests Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Doc: Add notes about Qt Style Sheets taking precedenceLeena Miettinen2019-10-312-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...over setting properties on individual widgets. Task-number: QTBUG-28675 Change-Id: Ic7bfd723ed8970112a9892727170d3bacaa1903f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | | * Doc: Add best-practices-info about creating benchmarksLeena Miettinen2019-10-301-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://wiki.qt.io/Writing_Unit_Tests Change-Id: Idc0bafb32690f443e1f49cd4f8efb653d3aa46a4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Doc: Add best-practices-info about initialization and clean-upLeena Miettinen2019-10-301-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://wiki.qt.io/Writing_Unit_Tests Change-Id: I20027066640ca797a2330f6daa81468f03921a69 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | | * Update bundled Freetype to 2.10.1Liang Qi2019-10-30505-34946/+38384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Freetype] Upgraded bundled Freetype version to 2.10.1. Fixes: QTBUG-77466 Change-Id: I1de8b8b03e0ffd0b17eeafff1017df7c638c9279 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-3014-41/+188
| | | | |\ | | | | | | | | | | | | | | | | | | Change-Id: Ieb5afc87086758119bcfc8efbe355f5c0a93fc04
| | | | | * Revert "iOS: Account for when the older SDK is used when building"v5.13.2Andy Shaw2019-10-252-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 631efee29371246ba1a1d9d007b23ca08b867191. Reason for revert: This causes a problem when running on iOS 11 devices. Change-Id: If5194989b8d7a9f4cf2d72e770fdaad754d7e236 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | | | | * Add changes file for Qt 5.13.2Antti Kokko2019-10-241-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaf3f96e6c0dc5786fc3dc8667952813e5aa366b2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | | | * Xcode: Ensure there's always a CFBundle[Short]Version[String] setTor Arne Vestbø2019-10-181-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leaving it empty resulted in errors from Xcode when compiling the app. Task-number: QTBUG-25309 Task-number: QTBUG-74872 Change-Id: I61b0f47d754c5f5b181a6f918283d990458cc78d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 1d1ed017119df2cd28a9e21aee0a8cece5282250) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | | * iOS: Account for when the older SDK is used when buildingAndy Shaw2019-10-172-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the pre-built versions of Qt at this point are still built against the iOS 12.x SDKs, then we need to account for this in order to have the workaround implemented in e00d888daefbfbd5f17e0772421773f8e295087b still working when deployed to an iOS 13 based device. Change-Id: I649a453c549ee272de64624d68f9382276fcba64 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | | * macOS: Fix regression with some characters in non-bundle appsEskil Abrahamsen Blomfeldt2019-10-161-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .Noto Sans Univeral is a system-generated font, but for some undiscovered reason, it has different content when the app has a valid Info.plist versus when it does not. When there is no valid Info.plist, the font will act as a last-resort font and return a question mark glyph (index 4) for all characters it does not support. This was discovered with emojis, but I also verified that the font returns index 4 for a random character in the Cherokee range, in order to check if this was specific for emojis or not. This causes the font to take precedence over anything that follows it in the fallback list in apps that do not have a valid Info.plist, so it has to be at the end of the list. Note that in these apps, it will act as a last-resort font, so the glyphs returned for missing characters will be different from in a regular app bundle. But this seems safer than to exclude the font entirely, given that Noto Sans cover a large range of characters and might be needed. This font also refactors the look up of fonts to push to the end to avoid doing lots of unnecessary looping over the list. Fixes: QTBUG-78833 Change-Id: I38bec5d5941681c4b4586072f7811d31561e1051 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | | * iOS: Fix showing emoji charactersEskil Abrahamsen Blomfeldt2019-10-161-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In d5abda313dab0f83873d34b7c4ddbe8d8a06dacf, we started populating meta-fallback-fonts in the font database because some that are returned as fallbacks are not in the main list of fonts on the system, so we would exclude them, thinking they were non-existent. But populating these fonts by name does not always work, as the system explicitly forbids requesting meta-fonts by name for some cases. One of these was the emoji font, which would resolve to a incompatible font descriptor and support for emojis would be broken. The fix is to retain the font descriptors we get from the system instead, since these are guaranteed to be refer to the correct font. This also saves us an unnecessary round-trip. Task-number: QTBUG-78821 Task-number: QTBUG-77467 Change-Id: Icb17ccc75811eebf03919437828ba71f3ef08938 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | | * Fix assert in VS project generatorJoerg Bornemann2019-10-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We must check whether outputs or inputVars are non-empty before accessing them. This amends commit 68866b1a. Task-number: QTBUG-79178 Change-Id: Iecf6dc705bac9bef5133ae2e5ceeace5f859f175 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | | | * Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib35c8cdf300926001e08d234bc8cc3a08af4985b
| | | | | * Partially revert "qfloat16: suppress the tables if FP16 is supported by the CPU"Thiago Macieira2019-10-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts the x86 F16 part of commit 9649c41ed950eaa7dd9d3cb6d37a05d3a9ed8a3e. Unfortunately, it is perfectly valid to compile coe without F16C an link to a QtCore that was compiled with it. That's the case in Clear Linux where there's /usr/lib64/libQt5Core.so.5 and /usr/lib4/haswell/libQt5Core.so.5. Change-Id: I907a43cd9a714da288a2fffd15baacace8331403 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>