summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* QNI: Clarify Feature enum entries' documentationMårten Nordheim2021-11-041-4/+6
| | | | | | | | | | | Saying properties are not available depending on feature support is misleading. It is available even if not supported, it's just not useful. Change-Id: I6325c50867bb873258c70280adb8d75125db2096 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 2d39509d4a47e4f39180147ba5018923000f654e)
* iOS: Hide UIWindow before restoring mirror modeTor Arne Vestbø2021-11-041-1/+1
| | | | | | | | | | | Doing it the opposite way, by associating the new screen first, will result in the external screen not going back to mirroring the main display. Change-Id: I63970380fc4f0902af5032043809a9c1b1f9f95b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 34f9da730f43c83a1a457830e33f48b7fc48ca97) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iOS: Defer restoring screen mirroring until next runloop passTor Arne Vestbø2021-11-041-3/+7
| | | | | | | | | | | | | | | | Associating the UIWindow with a different screen will trigger layout of the child views of the window, including the view that we're in the process of removing, which doesn't have a platform window anymore. Instead of protecting every possible code path in the view code with checks for a platform window we defer the restoring of mirror mode until after the view has been removed. Task-number: QTBUG-94530 Change-Id: I8c66106cafa67e06721e621c019b2d10acf02326 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 36852d78bfe20bbb5eebc2bd8cf9ee4ebae4db50) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iOS: Don't try to initialize a11y for views that have no platform windowTor Arne Vestbø2021-11-041-0/+5
| | | | | | | | | | | The window may have been destroyed, but the UIView may still be be referenced and kept alive by the a11y subsystem. Task-number: QTBUG-94530 Change-Id: I24f1c9d45e80c1bb4c92536e7f91533a94fd077f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit f2d150242907c3d5c20522ffff3a7e46330ec221) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qnsview_mouse, scrollWheel: do not assume zero deltas on Ending phaseTimur Pocheptsov2021-11-031-4/+4
| | | | | | | | | | | | | | | | | | | It's somewhat difficult to reproduce, but having a mac with a trackpad and a huge scrollview (meaning I have to scroll fast and a lot), I am able from time to time to trigger an assert on the line: Q_ASSERT(pixelDelta.isNull() && angleDelta.isNull()) In all such cases, I can see that deltas are not zero, but equal to the ones that the next event (momentumPhase == Begin) has. The code is based on Tor Arne's patch. Fixes: QTBUG-97945 Change-Id: I874c776b265d3950cc2b6c1d8054363b3d0d1fde Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 122f7d7adcbc16389728855dcff9f3e19c4652bd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PCRE2: upgrade to 10.39Giuseppe D'Angelo2021-11-036-3170/+3284
| | | | | | | | | | | New upstream release. [ChangeLog][Third-Party Code] PCRE2 has been updated to version 10.39. Change-Id: Ic8db3035bad41a8cdb0d735e593e71124b5df9d2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit efc1cd5799f692cfbc76bdfe1099d75141558c9b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* FreeType: allow falling back to synthesized bold if desiredAndy Shaw2021-11-031-1/+3
| | | | | | | | | | | Some users still prefer the fake bold look even if in some cases it does not look good. So add an environment variable - QT_NO_SYNTHESIZED_BOLD_LIMIT - to allow that fallback to stay in place. Change-Id: I8212c1fa36edb4730b187dc4a23ea45f94981154 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit fa53c624729ad5554b3698b700543fcf9c58166f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QMultiHash: Add forgotten documentationMårten Nordheim2021-11-031-6/+16
| | | | | | | | | | | | After the split of QHash and QMultiHash this function was not documented since it was previously inherited from QHash. As a drive-by also update 'int' to 'qsizetype' in docs Change-Id: I5d168886f13c2cdd4482038e66d0cf218789c847 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 29f86b5698fa22d5675777ae91e36be7dc530844) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qoperatingsystemversion_win: cache the retrieved versionYuhang Zhao2021-11-031-6/+8
| | | | | | | | | | | Make it a static variable to avoid acquiring the system version multiple times. The system version won't change at runtime after all. Change-Id: Ic381e5dd7b482fedc9c01242482559ffca9d3f2b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 3fe89eec61e2c819bb54a5d3dfe4bc29dba49ff3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* rhi: vk: fix offscreen frame command completion waitLaszlo Agocs2021-11-021-11/+11
| | | | | | | | | | | | | | | | Remove the if-there-is-more-than-one-swapchain condition. Surely in a (onscreen) 0, (onscreen) 1, (offscreen) 0 frame sequence the wait is essential when starting the offscreen frame. Otherwise we may be deferred-releasing resources from the still active onscreen #0 frame. The problem is only apparent with certain frame slot change sequences. For instance (onscreen) 0, (offscreen) 1, (onscreen) 0 would not show any problems. Change-Id: I705a0a3ab0b4bc9e4dc2b1c6ff60025d04c739b3 Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 711c55b63226c30532b39ec8d5191330512eb2e0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* rhi: Extend docs regarding QImage and data lifetimeLaszlo Agocs2021-11-021-0/+11
| | | | | | | Change-Id: I45e0e53af7e6ba084f6305c3097c6a0ff65fb458 Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit ace53d282d610dc2a4e96fbe1b84f5b39e93dc77) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add Android qml staging prefix to qml import pathsAlexey Edelev2021-11-021-0/+7
| | | | | | | | | | | Qml modules are staged to the special folder when building for android. To make them visible we need add this folder to qml imports paths that are used by qmlimportscanner. Task-number: QTBUG-96898 Change-Id: Iaf1e06c64553e8ea27f020226095da36e1f9d881 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit d05da5f306c7c30616d33fe540e64dd2fee46924)
* CMake: Fix EntryPointMinGW32Target to be found in top-level buildAlexandru Croitor2021-11-021-0/+6
| | | | | | | | | | | | | The file needs to be copied into the top-level build config dir. Amends 753199437943e2a89e458136fd11a5a43443b280 Fixes: QTBUG-97919 Change-Id: I8e0b525cfbd89ce5c7b07b62bfc023a7f8650cb9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit 67dadc7e3428169778102a6dfab47e2e48c8d17e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qtbase: remove last piece of DwmIsCompositionEnabledYuhang Zhao2021-11-021-20/+2
| | | | | | | | | | | | | | DWM composition is always enabled and can't be disabled since Windows 8 [1]. As a drive-by, remove an old workaround for MSVC 2012, which is not supported by Qt6. [1] https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmiscompositionenabled Change-Id: I2ec055d794c91d69c141dca7cec80beb9468628c Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 2962e27441c3870120a0d37cd7dc472953b356e7)
* Remove pre-Win10 code paths in QtBaseYuhang Zhao2021-11-029-201/+44
| | | | | | | | | | | | | | | Mostly a removal of dynamically loaded API. They should all exist on Windows 10 1809 (Qt6's minimum supported version). accessibility parts left untouched to make sure MinGW still compiles. Task-number: QTBUG-84432 Change-Id: I7a091fc967bd6b9d18ac2de39db16e3b4b9a76ea Reviewed-by: André de la Rocha <andre.rocha@qt.io> (cherry picked from commit 2526df506bda99f9497e83a4e6820557a722660e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump version to 6.2.2Jani Heikkinen2021-11-021-1/+1
| | | | | Change-Id: Ic14ce91b21948d1c6051a5476f74e0a8bbbf9080 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix show()/hide() for child windows on xcbLars Knoll2021-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change e946e6895a8517a887ac246905e0769edd766fcc implements proper support for ICCM 4.1.4 window state handling. One issue it addressed is that a show() after a hide() needs to be delayed until the window manager/X-server has processed the previous event. This was handled with a deferred task list to send the map/unmap events. According to ICCM, we should wait for the _NET_WM_STATE notification before processing the deferred events. But this is only true for top level windows, as child windows are not handled by the window manager and will never receive any _NET_WM_STATE notifications. For those, we should use the unmap notify event, which means that the X-server has processed the unmap and handle deferred events once that notification has been received. This fixes an issue in Qt Multimedia, where QVideoWidget would not show the video anymore after a minimize of the player or when making the QVideoWidget fullscreen. This is because QVideoWidget uses an embedded QWindow to render video using HW acceleration. Fixes: QTBUG-97257 Change-Id: I5c47eba3276a1f243bdafd5346f353c7843403bb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 28138aa80a14279a72af2818f5bbbaa670283964) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add const to read only local variablesOliver Eftevaag2021-11-012-3/+3
| | | | | | | Change-Id: Ideb34a5009277b919a8a3834e53af4ff550dfc6e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 859f2ca1a6eeddafd0d346a5716f84a9df1acbdc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add missing macOS header file that was indirectly included beforeØystein Heskestad2021-11-011-0/+1
| | | | | | Change-Id: I4d4c7d4f957fc36dea5e06eb6d661aeecf6385f1 (cherry picked from commit dece6f5840463ae2ddf927d65eb1b3680e34a547) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add warning about QCoreApplication deferred deleteMichal Klocek2021-11-011-0/+4
| | | | | | | | | | | | | | | | In some bug reports we got code which does deleteLater() on QCoreApplication, however this is not going to work as the user may expect. In cases where an application uses Qt WebEngine, this leads to weird looking crashes on exit as webenginecontext is not destroyed. Change-Id: I4d284f30b0c7cad15ba6da3d65cdf813c36ee036 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit eb5cae26a43beae747909777da3f29fad82fef5e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Match documentation of shared pointers to new definitionsAllan Sandfeld Jensen2021-11-011-4/+8
| | | | | | | | | We also have move semantics and noexcept. Change-Id: Idcb1d39f79ff45738c641f8dd07fb71cf32d9aca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 7cb215938880e33a76092c33d29f85c12f4209ce) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update Gradle to 7.2.0 and Android Gradle Plugin to 7.0.2Mårten Nordheim2021-10-319-1078/+584
| | | | | | | | | | | | | | | The latest build-tools 31.0.0 requires AGP version 7.0+, and that requires Gradle version 7.0+, so use the latest stable release for both. [1] https://developer.android.com/studio/releases/gradle-plugin? buildsystem=ndk-build#updating-gradle Fixes: QTBUG-97002 Change-Id: I8ff26819bdf1a00f484ecc194c4d4e7bca2b598a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 5ea712987be3bed4c15e486d96851b46f466e944) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix target existence check in qt6_android_generate_deployment_settingsAlexey Edelev2021-10-291-1/+1
| | | | | | | | | Cherry-pick only replaces SEND_ERROR with FATAL_ERROR Change-Id: Ia44bb2e56626b00e75efabf2ebdc8eb97eee0ff8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Craig Scott <craig.scott@qt.io> (cherry picked from commit 53ffa665d0aba0675dccd2876257ba0e4375dd25)
* windows qpa: re-apply 8d6e825dMorten Johan Sørvig2021-10-291-0/+2
| | | | | | | | | | | | | “Handle invisible child windows gracefully on dpi changes” This fix was accidentally removed by commit cd96d870 “Move VM_DPICHANGE handling to QWindowsWindow”. Fixes: QTBUG-96466 Change-Id: I3774f6305631ba47282d43e8480e2acaba517a96 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit e7371fa1592cf490eab6cb82bc06ed67c7d154e3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix performance regression when avoiding scrollbar flippingVolker Hilsheimer2021-10-291-4/+7
| | | | | | | | | | | | | | | | | | | | | | | Amends 6c4dc722cb9bf765904feefff4fb00bdb0b3dc9f. Don't search for the optimal size of the scrollarea's widget if it can't be found anyway. Try the size with scrollbar first, which covers the vast majority of sizes. Optimizing the loop with e.g. a binary search adds no value, as the size is often just a pixel too small. Since we can't rely on the number of height-for-width calls, we can't meaningfully test this behavior. The number of calls is still very high during showing and resizing; optimizing this further is for a separate commit. Fixes: QTBUG-97811 Change-Id: If145302e6414b32cf1ce7251ff33b0039f584867 Reviewed-by: Jonas Kvinge <jonas@jkvinge.net> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit ffc9323671d045e3566980d9ed4567f071004e65) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QVarLengthArray: Add explicit assertions for implicit assumptionsRobert Löhning2021-10-291-0/+2
| | | | | | | | Change-Id: I4dfbf6174483b4af91f31a05c18cfec2aaec6e1f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit ee487c6b897ea4fa75a1d503fd4d36f124f238f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Extend documentation for bindable propertiesIvan Solovev2021-10-292-4/+26
| | | | | | | | | | | | | | Extend the general property system page with a section on how to use bindable properties. Add some cross-references to improve the user experience. Task-number: QTBUG-97656 Change-Id: I2520cdc168e3a8a66ea387e4ab717f4e0f969424 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> (cherry picked from commit f40e0bcf674e03ce78751a799c2f0fb6f2b8b086) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android: Treat ACTION_CANCEL as TouchCancelEventMike Achtelik2021-10-292-8/+39
| | | | | | | | | | | | | | | | | | | | | Change 64d62c53c1e92a1cc07449a0ea3c71501592c1e7 started treating an ACTION_CANCEL as a TouchPointReleased. This leads to unintentional presses, if e.g. an edge swipe for the android back gesture starts on a MouseArea. When Android takes possession of the motion, an ACTION_CANCEL is delivered, which needs to be handled as such. It should not be treated as a normal up event that triggers a press. Otherwise, we get the above-mentioned issue, where an unintentional action is performed. So let's use QWindowSystemInterface::handleTouchCancelEvent to treat it as a canceled touch in Qt. Task-number: QTBUG-72110 Change-Id: I68650a180130501568e5a1e9a7f20ea469461e97 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit d6da61f3b9e7e57e85d1e16f2756a8e39e571f77) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* wasm: fix changing cursor shapeLorn Potter2021-10-292-9/+10
| | | | | | | | | | | | | | The previous implementation would occasionally result in a crash when a window was closed. Apparently 'auto' cursor does not work so well, so we now use 'default' name. Fixes: QTBUG-96178 Change-Id: I0179d20dbdc01f0e3021d746324e1e39c678a298 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 97be0cca174a3b92c24062c557bf4df34db23f7b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Fix undefined reference to WinMain errors with MinGWJoerg Bornemann2021-10-282-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | When linking against Qt with MinGW, libmingw32.a must come before libQt6EntryPointImplementation.a on the linker command line. Otherwise the linker cannot find the WinMain symbol that's defined in the EntryPointImplementation library. Under certain circumstances, mingw32 was linked after EntryPointImplementation. To reliably ensure the order of said libraries, we introduce the imported library EntryPointMinGW32. This target represents libmingw32.a and links against EntryPointImplementation. The link dependencies look like this: EntryPointPrivate -> EntryPointMinGW32 -> EntryPointImplementation The imported library EntryPointMinGW32 is defined in a separate .cmake file which is included by both src/entrypoint/CMakeLists.txt and Qt6EntryPointConfig.cmake. This is needed, because the consumer outside of Qt must access this imported library, and we cannot export imported libraries. Fixes: QTBUG-93671 Change-Id: Ib3c5e80cbcc9c793d000e5ad637325bcf735a1ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 753199437943e2a89e458136fd11a5a43443b280) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDBusMarshaller: fix -Wformat-overflowMarc Mutz2021-10-282-26/+16
| | | | | | | | | | | | | | | | | | | | | | Says GCC: qdbusmarshaller.cpp: In member function ‘QDBusMarshaller* QDBusMarshaller::beginMap(QMetaType, QMetaType)’: qdbusmarshaller.cpp:286:17: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 286 | qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. " | ^ Fix by manual checking. It's a False Positive, because QString::asprintf() can handle nullptr strings just find, but let's make GCC happy. Since the code snippet appears multiple times, even though GCC only warns about one of them, take this opportunity to factor the code out into a cold helper function. Change-Id: I1d642f2465f34b670b179646185cba05cb16e573 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit ebee8a13364f28c40fbe7fae4cedaebc70d9d024)
* TLS plugin (OpenSSL): don't use the deprecated functionsTimur Pocheptsov2021-10-284-26/+58
| | | | | | | | | | | | If we have OPENSSL_NO_DEPRECATED_3_0 defined. This includes RSA, DSA, EC and DH-related APIs. As of now, we only make sure the code still compiles. Fixes: QTBUG-83733 Change-Id: Id455b851421ce0dcdfb0229fa515ba2b2ed690b1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 4b282e0602764459805f8250fe27fc465ee33c18) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fusion: Consistent width calculation and rendering of menu itemsVolker Hilsheimer2021-10-271-39/+45
| | | | | | | | | | | | | | | | | | | The width calculation lacked the addition of the windowItemFrame constant, which was added in the rendering code. This resulted in ellision for long items. To make the code easier to follow, const'ify, rename, and reorder some local variables, and use constants from QFusionStylePrivate instead of (now obsolete and removed) constants copied from the Windows style. Break long lines as a drive-by. Fixes: QTBUG-94481 Change-Id: I6d3e9d0feebee58fc70beaaf29236b8473242083 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 0c0892a3e20aa1fa79e3561de9b8e1fa8820f062) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QDebug operator<< for QMultiMap when Q_CLANG_QDOC is definedJoerg Bornemann2021-10-271-1/+1
| | | | | | | | | This amends commit 8a8bf1b84e9a096993b892873eb62c735149f320. Change-Id: If863d33d055e0a743606d11859b11c112de105f1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 51cc8a726762597ad4dbcc6af0d4eb277c4847b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Adjust behavior of windowIsPopupType and hasTitleBarDavid Skoland2021-10-272-9/+8
| | | | | | | | | | | | The previous implementation did not check for the popup flag, so it was added, and the tool window exception was preserved. hasTitleBar was also changed so it checks for popups and not tooltips specifically (tooltips are always popups). Change-Id: I3e2ba3be56e992b30ca2a07375092073572e7fcb Reviewed-by: Lorn Potter <lorn.potter@gmail.com> (cherry picked from commit aa6405ee037abd53e88c7cd2ceee78fd973cafa9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Calculate effect bounds when drawing widget graphics effectAntti Määttä2021-10-271-4/+5
| | | | | | | | | | | | | | Calculate effect bounds for the updated region when drawing the effect so that the whole affected area gets updated. The effect bounds have already been added to the region so it doesn't need to be handled in the drawing function. Fixes: QTBUG-96240 Change-Id: I0c317311622e6299fb1a3015541408d1d83c93de Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit ea3ede9c45748aa8bc1dee572be2570f83fbcb95) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update clipping area when antialiasing changesChen Bin2021-10-273-0/+41
| | | | | | | | | | | | | | | | | | | | Antialiasing is disabled when the painter's antialiasing attribute is set behind the clipping function(example `setClipPath` or `setClipRegion`). The cause of this problem is that the antialiasing state of the clipping region is not updated after the antialiasing attribute is set. A variable is required to record the painter's transformation state set before the clipping function, because the transformation will be applied to the clipping region, resulting in the abnormal clipping region. The value of `s->matrix` is not accurate for the clipping fun- ction. Fixes: QTBUG-97269 Change-Id: I409a9db32efc3b991ebb97ec9aed19bbddb273d8 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 6de36918c03e91933fbfb5bf7b53abbe03edf460) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove an overly-complex assertionEdward Welbourne2021-10-271-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It tried to sanity-check the correction being made to the time as a result of converting zone to UTC, but handling also the case where the correction avoided a gap. However, there are too many quirky cases to permit a simple condition. The latest to trip it up is a case of a zone leaving local solar mean time; a time in the gap that hits is shunted by the width of the gap, which could be any old thing, and won't show up on the data describing the zone before or after the transition. In any case, one branch of the check was doubling the zone's standard time offset, which makes no sense. As that was checking for double-DST, it would need to check standard offset plus twice the usual DST offset; but the data it's looking at probably has its DST offset set to the doubled one that needs to deal with. In general a change in DST without going via standard time will have problems here, and a change to standard time could also present problems. Stop trying to shore up the assert and just trust the offset we got. Fixes: QTBUG-97777 Change-Id: I4519f47e79dfb7595f4a12c259b80a338bc7033c Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 3a8c8e7cf620883af0e2b7ba6bfb1e5fced46b42) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* wasm: fix window activationLorn Potter2021-10-273-1/+9
| | | | | | | | | | | | | | | This fixes window activation of dialogs and tooltips In the case of tooltips, We were activating the window being removed. In the case of dialogs, we need to raise the window before requesting the activation. Change-Id: Ie989e6d92afedf1895b5e188f0695f6254d70272 Fixes: QTBUG-94918 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 3d89257ce4b2480ee0c636aefd608b780a81d235) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Android: Place cursor correctly on screen when editing"Rami Potinkara2021-10-267-98/+17
| | | | | | | | | | | | | | | | This reverts commit 5c6b10c3cee5737dbc041d0463220898c8120807. It caused a regression such that the main window no longer resized or panned when the VKB is shown, in spite of android:windowSoftInputMode being set. Task-number: QTBUG-95300 Task-number: QTBUG-96117 Task-number: QTBUG-97503 Change-Id: If56e1113eea69a940f6760bdb2ad06a93a0759c1 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit b1820295e1e8f04634cf9c008a2473d9e2889288) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QHash: avoid crashing when reserving on a shared hashMårten Nordheim2021-10-261-1/+2
| | | | | | | | | Change-Id: I21ad13fa223bd5a2c61112e790965093a2750268 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 323b97ccaea7b9442fa1bcb01514e0c5a4a97fdc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QVarLengthArray: Reduce memory allocations in insert()Robert Löhning2021-10-261-1/+2
| | | | | | | | | | | | | | | | | Currently, we allocate memory for elements one by one which can get pretty slow when adding many elements. [ChangeLog][QtCore][QVarLengthArray] Reduced number of memory allocations in insert() by allocating more memory at once. Fixes: QTBUG-97489 Change-Id: Idfb5b5946b047d5215c8ed00770574249f9f5d40 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit a7d1c48ca3162a805708d059da87ca3d742863f1) Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QObjectComputedProperty docs: move example to snippetIvan Solovev2021-10-262-36/+38
| | | | | | | | | | | | This patch amends 89a4c8d40d2ee1b8794dd7fcf80d226c5c87ba6c. It moves the code sample into a separate snippet file, which allows us to use Q_OBJECT macro in it without complaints from moc. Task-number: QTBUG-97656 Change-Id: I368d8dd8c00dbbebd8a6bf3788be796c8ca4bce8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 5f0e57ebc7e12a7325667fe3e5c95e06cd04388a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Avoid warnings when compiling bootstrap library without zstdUlf Hermann2021-10-261-0/+4
| | | | | | | | | Change-Id: Ic67cd2b582df0464a17f6181157ebbd47986114c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 8a4f252644b0729491bca42abe0ba88862136cfc) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QTabBar: re-layout when tab size hint depends on selected stateVolker Hilsheimer2021-10-251-0/+7
| | | | | | | | | | | | | | | | | | QTabBar caches the rects for the tabs to avoid costly recalculation of each tab's size hint. That cache is only updated via layoutTabs if the entire tab bar is resized or modified. However, when a style sheet is set that calculates a different size hint for tabs that are selected, then the tab bar also needs to be laid-out when the current tab changes. To minimize the cost, compare the cached size for the new current tab with its new size hint, and re-layout the tabs when they are different. Fixes: QTBUG-6905 Fixes: QTBUG-8209 Change-Id: I110444d18938c2b3446ee58e4a8c6c472b5f12c3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit da632baf34ef2308da04c56c497e115b9d1ad531) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't fire shortcut if the action only lives in an unreachable submenuVolker Hilsheimer2021-10-251-1/+1
| | | | | | | | | | | | | | | | | | Menus can be represented by a menu action, and if that menu action has been hidden or disabled, then the submenu is not accessible from the parent menu or menu bar to which it was added. Don't walk the menu action chain further when checking whether the shortcut should trigger. Note that this is unrelated to the menu being visible or not; we obviously want to trigger shortcuts for actions that only live in a menu that has not been shown, otherwise the shortcut would be rather pointless. Fixes: QTBUG-25743 Change-Id: I48735e17352989bbc84a72263e4828f519b78095 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 01f96b1764d0339aca2b7f2de4cef6b97047cb7b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix -trace build on WindowsIvan Solovev2021-10-252-4/+23
| | | | | | | | | | | | | | | | | | | | | | | The TraceLoggingValue template does not have overloads for Qt types, so it was throwing multiple template instantiation errors while trying to log the unknown types. Fix it by serializing such types to QString using QDebug::toString, and the logging this string. Apart from that, fixes some other compiler errors on Windows build with -trace enabled: - implicit size_t to ULONG conversion - complaints on std::min - add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE to the generated *_tracepoints_p.h headers to fix the namespace build. Task-number: QTBUG-97246 Fixes: QTBUG-97241 Change-Id: Ifba134bab8d7fda7f1e30da9938e25cae813e1c6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 164e575673e47b2a3576e778840c027ccf0ae477) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix compilation with QT_NAMESPACE and tracing on LinuxIvan Solovev2021-10-251-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tracegen tool was not taking into account that Qt could be build with a custom namespace. As a result, the combination of namespace build and tracing enabled was not working, because tracegen generated classes without the namespace. This patch fixes it. We cannot add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE because of the tricky logic that recursively includes the generated header file multiple times, also including the code like static const struct lttng_event_desc *_TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER)[] = { (hash)include TRACEPOINT_INCLUDE NULL, /* Dummy, C99 forbids 0-len array. */ }; where TRACEPOINT_INCLUDE is the path to the generated header. This patch is using QT_USE_NAMESPACE, wrapped into some #ifdefs. This should be safe, considering that the generated trace headers are only used as private API. The windows tracing support seems to be broken even in a non-namespace build, so it's not handled in this patch. Task-number: QTBUG-97246 Change-Id: I12db76e199a3aa3abde641fbf99a6e1a3d7de203 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 2a72f0f15d9c433d8d03873637e84fe2e10735b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make QObjectComputedProperty documentation visibleIvan Solovev2021-10-251-2/+0
| | | | | | | | | | | | QObjectComputedProperty belongs to public API. It's even referred in other documentation (for example, QBindable). It does not make sense to have its documentation marked as \internal. Task-number: QTBUG-97656 Change-Id: I6ca81292cfafea873dd3577fb0e5ddb583969dc3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 89a4c8d40d2ee1b8794dd7fcf80d226c5c87ba6c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android: set EXTRA_TITLE to the initially selected file in save dialogAssam Boudjelthia2021-10-252-4/+9
| | | | | | | | | | | | | | | | The extra data EXTRA_TITLE is only documented to be used to provide the initially selected file name in the context of file dialog [1]. So, let's stick to setting it only in save mode. This also now allows the save dialog to set an initial file name which wasn't possible before. [1] https://developer.android.com/reference/kotlin/android/content/ Intent#action_create_document Change-Id: Ib55191a7269bfad28af4928f4e74d87981bdd574 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit cbc29dc16c4e08d6e399c7c26a38736bff80d6e6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>