summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | tst_qresourceengine: Fix test for configurations with builtin_testdataOliver Wolff2018-05-072-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If builtin_testdata is present additional data ends in inside of resources so that tests can access this data when needed. The addiitonal data has to be taken into account in the resource engine's test. Change-Id: I10de6b9612ca49b314d77cfadd5b2360a5d90d53 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * | | tst_qiodevice: Skip broken winrt testsOliver Wolff2018-05-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I399cc1aed3ee4151cf6adfd8f8780d8975604d52 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* | | | | configure: change convention of passing libraries to config testsOswald Buddenhagen2018-05-083-30/+32
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of pre-resolving them and passing the final LIBS to qmake, pass raw QMAKE_*_LIBS* assignments and a QMAKE_USE stanza. the immediate benefit of that is that it centralizes the debug/release lib handling, which makes build variant overrides available to all libraries, not just a few selected ones. note that this removes the CONFIG+=build_all from the test projects. turns out that this was ineffective to start with, as config tests are built with an explicit CONFIG-=debug_and_release. we might re-instate it in a non-broken way later on. Change-Id: I2117c5b36937e8230bd571dcee83231515cbe30b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | configure: centralize shell-quoting of tests' .literal_args fieldOswald Buddenhagen2018-05-082-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this de-noises the code somewhat, and makes it possible to eval() the code generated by $$qtConfLibraryArgs(), which we want to do later. Change-Id: Ib6101c6745101801e34f8fab1ad6651e624130c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | Remove mention of selftest.qrc from generator script's docEdward Welbourne2018-05-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This supplements b1945604a78626ed25ad8afe70a64c2eac76a2b4, which removed the qrc file in favor of test/test.pro coding for it. Change-Id: I15507c89ca14fa6e6b8223de671ffff7092272d0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | macOS: Transition to new QPA dag-and-drop APIMikhail Svetkin2018-05-084-25/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new API allows us to pass the mouse buttons and keyboard modifiers along with the QWSI event. Task-number: QTBUG-57168 Change-Id: Ic54c012d1593d922e7dcd31facab2f2c630c7996 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | macOS: Experimental Vulkan support via MoltenVKMorten Johan Sørvig2018-05-0810-7/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for QSurface::VulkanSurface and QVulkanWindow. Usage: 1) Build MoltenVK according to instructions 2) Configure Qt: ./configure -I /path/to/MoltenVK/Package/Release/MoltenVK/include 3) export QT_VULKAN_LIB=/path/to/MoltenVK/Package/Release/MoltenVK/macOS/libMoltenVK. Implement support for QSurface::VulkanSurface by enabling layer mode for QNSView and then creating a CAMetalLayer, which the MoltenVK translation layer can run on. MoltenVK provides an implementation of the Vulcan API, which means that the platform integration is similar to other platforms: implement a QCocoaVulkanInstance where we pass the QNSView instance to the vkCreateMacOSSurfaceMVK Vulkan surface constructor function. Using Vulkan directly without QVulkanWindow is possible, but not tested. We currently load libMoltenVK at run-time and use the existing QT_VULKAN_LIB environment variable to set its path. For deployment purposes it would be better to link against MoltenVK.frameworkm, but this Task-number: QTBUG-66966 Change-Id: I04ec6289c40b199dca9fed32902b5d2ad4e9c030 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | qbasicdrag: temporary restore obsolete APIsGatis Paeglis2018-05-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... that were removed in 10b3286313c78fa380b5fe676a7c14f3ae84f017. This is needed so we can properly resolved inter module dependencies (update qtwayland to use the new API). Task-number: QTBUG-68151 Change-Id: If9c3b42f76bd2c1d8fc86304cfcc22c18bad9e27 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | Windows QPA: Improve debug output of keyboard shortcut handlingFriedemann Kleint2018-05-081-16/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a debug operator for KeyboardLayoutItem and output keys in QWindowsKeyMapper::possibleKeys(). Change-Id: I28215f44da2a9c08a27541ef0e906d37be2bad72 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | Get rid of argb32->argb32pm routines in qimageAllan Sandfeld Jensen2018-05-076-355/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have better optimized versions in drawhelper. Removing these versions is a performance gain. Change-Id: I431c74e440529648d9bc5e22c0e700a72d376934 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | Optimize intermediate_adder_avx2Allan Sandfeld Jensen2018-05-071-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 16-bit multiplication as it is twice as fast as 32-bit multiplication. Change-Id: I64b529eaaed4ce2c59c64a0120e93cd132724156 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Fix order of mouse selftest in selftests.priMitch Curtis2018-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put it in alphabetical order like the rest of the list. Change-Id: I3da3bb68d1847f53419bb79490b946c935ebb518 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Add self-tests for QTest::keyPress() and QTest::keyRelease()Mitch Curtis2018-05-0710-0/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They didn't exist up until now, and future patches rely on them, so add them. Change-Id: I8afdb9417263b45d43355c688a813bdf99ea5fc8 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | | qmake: make even more use QStringRef and QStringView overloadsOswald Buddenhagen2018-05-071-5/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: If067368529f89347a4618a24e2737e04b4fc0ce3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | Optimize direct argb32 blend functionsAllan Sandfeld Jensen2018-05-071-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They were slower than the long path version due to working too hard. This also unduplicates code by using the blend_pixel function. Change-Id: Ibf84b8f749cf40d4c852b459dc76860afd850d32 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | fix handling of GENERATED_TESTDATA with CONFIG+=builtin_testdataOswald Buddenhagen2018-05-071-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | relative paths must be resolved against $$OUT_PWD, not $$_PRO_FILE_PWD_. Task-number: QTBUG-58991 Change-Id: I9ce8e9c78e0fad026a7cc355852d23f9d6e96ee6 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | rcc: don't drop entries with missing files in -list modeOswald Buddenhagen2018-05-072-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the files may not exist _yet_. this change allows dynamically generating the resource contents. the ignoreErrors parameter is renamed to listMode and made less aggressive, to better reflect the actual usage. Change-Id: I2f6a75a23f1ef903f0d957f9a09f4df0ce2a2b35 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | | Move default implementation of update requests to QPlatformWindowTor Arne Vestbø2018-05-0712-46/+50
| | | | | | | | | | | | | | | | | | | | Change-Id: I4cbb8d2023068288e298ab21f5cd8bc258825c77 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Windows QPA: Use new QPA Dnd APIFriedemann Kleint2018-05-051-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-57168 Task-number: QTBUG-56244 Change-Id: I84cf811d9e886369a659ecb33ce1778207660922 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | | qsimd: add support for new x86 CPU featuresThiago Macieira2018-05-058-329/+683
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds detection for: VAES, GFNI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, AVX512_4NNIW, AVX512_4FMAPS. These features were found in the "Intel® Architecture Instruction Set Extensions and Future Features" manual, revision 30. This commit also adds support for RDPID (already in the main manual) and the Control-flow Enforcement Technology, which appears in a separate Intel paper. This new support was done by adding a new generator script so we don't have to maintain two tables in sync, one in qsimd.cpp with the feature names, and the other in qsimd_p.h. Since we now need a lot more bits, it's no longer worth keeping the two halves of the qt_cpu_features variable mostly similar to the main two CPUID results. This commit goes back to keeping things in order, like we used to prior to commit 6a8251a89b6a61258498f4af1ba7b3d5b7f7096c (Qt 5.6) At the time of this commit, GCC 8 has macros for AVX512VPOPCNTDQ, AVX512_4NNIW, AVX512_4FMAPS, AVX512VBMI2 and GFNI. Change-Id: I938b024e38bf4aac9154fffd14f7afae50faaa96 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | qsimd: remove support for systems without 64-bit atomicsThiago Macieira2018-05-052-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had that as a concession for early toolchains that failed to include the necessary libraries. They must now be up-to-date. Change-Id: I938b024e38bf4aac9154fffd14f7a630ef160cd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Examples: fix network-chat in the presence of an IPv6 stackThiago Macieira2018-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we bind to QHostAddress::Any, the incoming packets are actually IPv4-mapped IPv6 addresses and the operator== strict comparison was failing. Instead, use isEqual(), which defaults to TolerantComparison. Change-Id: Ic38ec929fc3f4bb795dafffd150ac6b3a0a7e3b2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-0518-234/+232
|\| | | | | | | | | | | | | | | Change-Id: Ib58433da04bffb5dfab5486b80f17f39cc4145fa
| * | | macOS + FreeType: Properly distinguish memory fonts from file fontsTor Arne Vestbø2018-05-041-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In recent macOS versions the descriptor created from the function CTFontManagerCreateFontDescriptorFromData() will contain the NSCTFontFileURLAttribute with a value such as: file://iNmEmOrYcGfOnT_0x101d3c3a0#postscript-name=New Which means we can't use the presence of the kCTFontURLAttribute to determine that we're dealing with a file font. Instead we check for our custom kQtFontDataAttribute first, which is only set for memory fonts. Task-number: QTBUG-68044 Change-Id: Ie87d06b5a9e0e251305200b717f18ef68ccc6abc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | | QAbstractEventDispatcher: add a note about the timer range for Qt 6Thiago Macieira2018-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-67383 Change-Id: I00ccecb71c774bb9b86cfffd15205b4f38088764 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Fix Clang 6 warning about comparing different enumsThiago Macieira2018-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdialogbuttonbox.cpp:862:14: error: comparison of two values with different enumeration types in switch statement ('QDialogButtonBox::ButtonRole' and 'QPlatformDialogHelper::ButtonRole') [-Wenum-compare-switch] Change-Id: I3840d727dee443318644fffd1529350b81678712 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Generate more Windows/Linux-like Qt keyboard eventsJames McDonnell2018-05-042-198/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QKeyEvent::key values were significantly different on QNX and some QKeyEvent::text values were also different/missing. Also makes it possible to enter numbers via the numeric keypad. Change-Id: Ifcf6284b99a893a87974d37ec6d6976f88241e61 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Dan Cape <dcape@qnx.com>
| * | | Avoid to fail to close stream on exceptionAndré Klitzing2018-05-041-15/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move .close() to finally block. Found by spotbugs. Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * | | OpenSSL 1.1.1: Fix tst_QSslCertificate::toTextMårten Nordheim2018-05-042-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The formatting of the output from QSslCertificate::toText has changed slightly from before, so it no longer matches the test's data. From what I can tell we just do a manual sanity check and create a new file with the new output and then augment the test. Task-number: QTBUG-67463 Change-Id: I751e5a3f9a28015f97c895cea47384704fd68e38 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | | Fix crash in qsslsocket_opensslMårten Nordheim2018-05-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using the wrong free function in a path which was hit in an edge case (PKCS#12 certificate without a private key attached). Change-Id: I5335b5dea7a926b242bed0fd9b989b681a5828d8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | | QJsonDocument: Validate also zero-length objectsJüri Valdmann2018-05-042-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added test case is the binary JSON equivalent of {"a":{"š":null}} with two modifications. First, the length of the string "š" has been corrupted to 0xFFFFFF00. Second and more import, the Base::size field of the inner object has been reset to 0. On its own the first modification would normally trigger a validation error. However, due to the second modification the Value::usedStorage for the inner object evaluates to 0, completely disabling all further validation of the object's contents. Attempting to convert this binary JSON into standard JSON will lead to the JSON writer trying to construct a QString of length 0xFFFFFF00. Fixed by validating also objects with usedStorage == 0. Task-number: QTBUG-61969 Change-Id: I5e59383674dec9be89361759572c0d91d4e16e01 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QJsonDocument: Reject objects containing themselves in binary JSONJüri Valdmann2018-05-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added test case is a binary JSON file describing an array which contains itself. This file passes validation even though attempting to convert it to plain JSON leads to an infinite loop. Fixed by rejecting it in validation. Task-number: QTBUG-61969 Change-Id: Ib4472e9777d09840c30c384b24294e4744b02045 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Fix encoding of freetype/LICENSE.txt to utf-8Kai Koehne2018-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous encoding was ISO-8859-1. Change-Id: Id13bf1936120fb8b3630ba671ca92f285fa80dec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | QJsonDocument::fromRawData: Fix out-of-bounds accessJüri Valdmann2018-05-044-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method takes a pointer+size pair, but begins reading through the pointer without first checking the size parameter. Fixed by checking the size parameter. A new test case is added with an empty binary json file. Although the test does not fail under normal conditions, the problem can be detected using valgrind or AddressSanitizer. Task-number: QTBUG-61969 Change-Id: Ie91cc9a56dbc3c676472c614d4e633d7721b8481 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Fix the enabling of AES with ICC and MSVC on some low-end processorsThiago Macieira2018-05-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC and Clang assume that all Sandybridge (2nd generation) and newer Intel Core™ processors have AES, which I used as a source of information for this code. However, there are a few low-end parts that miss this feature, like Intel Core™ i3-2350M, i3-3130M, i3-4000M. [1] https://ark.intel.com/products/series/75025/4th-Generation-Intel-Core-i3-Processors Task-number: QTBUG-67705 Change-Id: If90a92b041d3442fa0a4fffd1525b9afbcb6e524 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | QNX: Add screen-context-capabilities platform parameterJames McDonnell2018-05-041-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifies the flags value for the screen_context_create call allowing the Qt application to take on additional screen capabilities via the Qt screen context. Change-Id: Ic7aa478227e64afe2d1d7d04ec58c11ad68b9f22 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | QNX: Move screen event retrieval to the GUI threadJames McDonnell2018-05-045-115/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of retrieving screen events itself, the screen event thread now turns screen event notification into a Qt signal. In response to the signal, the GUI thread processes screen events. Eliminates the need to coordinate access to a screen event queue. Also prepares the way for getting rid of the screen event thread. This could be done if the QNX event dispatcher were switched from poll to MsgReceive (dispatch). Change-Id: If5892466d04d67f00828fddaea38b20da5fb18a3 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | Accessibility: Fix leaking cached interfacesFrederik Gladhorn2018-05-043-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the application closes, we should clear the cache to not run into memory sanitizers claiming that we leak. Change-Id: Ibf9fcda107be6b7f3ed414d7651080aa1f61a3a5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | qpa: improve API to support DnDs from other processesGatis Paeglis2018-05-0412-58/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... instead of using a hack of directly accessing QGuiApplication members. The current QPA API was bad for two reasons: 1) It expects platform plugin authors to know about internals of Qt Gui, particularly that QGuiApplication uses QGuiApplication::{mouseButtons,keyboardModifiers} to construct QDragMoveEvent and QDropEvent events. Which results in the second reason why this is bad. 2) Platform plugins should not directly access member variables of QGuiApplication, just to make sure that QDragMoveEvent and QDropEvent events contain correct state. Platform plugins should instead use QWindowSystemInterface to communicate with Qt Gui (which is also the solution here). The solution is to extend QWindowSystemInterface::handle{Drag,Drop} to require mouse/keyboard state. We already do this for some of the other methods, so it is nothing extraordinary. This type of interface is also _required_ to support drag-n-drops from other processes. We can't use QGuiApplication::{mouseButtons,keyboardModifiers} when the drag originates from another process, instead we need to query mouse/keyboard state from the system. This patch fixes drag-n-drops from others processes on XCB platform plugin. Task-number: QTBUG-57168 Change-Id: I3f8b0d2f76e9a32ae157622fef801829d629921d Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | android: Add support for precompiled headersDarrell Walisser2018-05-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copied lines from common/g++-base.conf to enable support. Task-number: QTBUG-51700 Change-Id: Ia2691cb137cac8b1378c5749892c36f0143570c9 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | | Port placeholder rendering to palette placeholder color roleFilipe Azevedo2018-05-043-6/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I7671d4b55677866b61627cc55a3029a3848f455d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Add a QPalette color role for placeholder textsFilipe Azevedo2018-05-044-15/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allow to customize easily placeholders in QLineEdit by example. Change-Id: I2bb379164376e1d88b42d6c86c2e5b8df99fbc56 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | QFileSystemModel: remove unused function naturalCompare()Christian Ehrlicher2018-05-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of the private function naturalCompare was removed with 197da3d220f but the declaration was forgotten. Change-Id: I14b44e3aeccac2c428e509f115ea93c4ba2a7c9b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | QContiguousCache: add assertion to avoid negative capacityChristian Ehrlicher2018-05-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ctor of QContiguousCache and setCapacity are accepting negative values for the capacity. While this should not be done it can happen by accident. Therefore add Q_ASSERT to ensure a positive value. Task-number: QTBUG-19700 Change-Id: I7458100c07c687cdeaebe86400343d79b5a6330a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | macOS: Fix stretch of condensed fonts with NoFontMergingEskil Abrahamsen Blomfeldt2018-05-042-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showing a condensed font with AnyStretch, we should not apply any stretch to the font (and if a stretch is requested, we should calculate the actual stretch based on how much the font is already stretched or condensed). This usually works as expected, however, when using QFont::NoFontMerging as the style strategy, we would scale the glyph advances by the stretch of the font since the calculated stretch of the font engine would be overwritten by the actual stretch. In the case where we use font merging, this would be done for the multi engine, so we would not get the same issue, since the text engine gets the stretch from the actual font engine and this still has the original, calculated stretch set. Note on the test: We can't use testString() for this, since it contains a space, and the test font does not have a glyph for this, so we will end up merging a different font for the space, giving us a slightly different advance. [ChangeLog][QtGui][macOS] Fixed display of condensed fonts when NoFontMerging is in use. Task-number: QTBUG-63800 Change-Id: I5b05e0dbfc8ae4b5d10c621ecb0975f53fda9483 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | QShortcut: Try harder to find a widget for parentless menubarsGabriel de Dietrich2018-05-034-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QPlatformMenuBar::parentWindow(). Since we call handleReparent() every so often, it's reasonable to be able to get its value back. While this parent window won't give us much information from the point of view of the actual QWidget parent for the menubar, the main reason we will need this is to check for modality blockage. Indeed, QApplicationPrivate::tryModalHelper() only cares about the widget's window since modality blockage is decided at the window level. Change-Id: Ie79f483424b01e430bc9168ba82489e30d15aec6 Task-number: QTBUG-67938 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | eglfs/kms: Add drm atomic zpos property handlingLionel CHAZALLON2018-05-033-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the ability to specify a ZPOS property for the eglfs plane ZPOS will allow to control the relative position between eglfs layer and the other layers. It is bound to using QT_QPA_EGLFS_KMS_ZPOS environment variable to determine its value. Change-Id: I51986ccb22a9dbaeef20165ac5feb7dbe8047373 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-0337-118/+336
|\ \ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| * | | | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-0337-118/+336
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/elasticnodes/graphwidget.cpp examples/widgets/graphicsview/elasticnodes/node.cpp examples/widgets/graphicsview/elasticnodes/node.h src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_drawing.mm src/widgets/kernel/qmacgesturerecognizer_p.h Change-Id: I13cf06bac75d48d779d8ee7b5c91bfc976f2a32c
| | * | | macOS: ensure mouse events from the global monitor has the correct button setRichard Moe Gustavsen2018-05-032-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The global monitor will be used when popup windows are visible to catch all mouse events. But only certain kind of NSEvents has a buttonNumber set to something useful. So we need to check for this case before we create a QPA event. Task-number: QTBUG-60887 Change-Id: I5631c76ae82b8bfd232642036a08b5a8a29491c7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>