summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Avoid crash in QTextMarkdownWriter::writeBlock()Shawn Rutledge2022-09-101-2/+2
| | | | | | | | | | | The inner loop would go out of bounds whenever it tried to find the end of a run of spaces in a fragment that contained only spaces. Fixes: QTBUG-104999 Change-Id: I5dda03b31194fff12f6052c458a0eb85d0be5c2b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 9807c4e5afc953444a4b5a161ceb31c68fdf2484) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* JUnit: Don't turn seconds into kilo-secondsMårten Nordheim2022-09-091-1/+1
| | | | | | | | | | | | | | | | | | | Overlooked in the review where this changed, this value was already in seconds and needs to be converted to millis before converting back. Now printing output such as: <testcase name="initTestCase" classname="tst_QHash" time="0.001"/> Amends bb74e72aa92b599cb4c80c23161ce9b66639ec01 Fixes: QTBUG-106222 Change-Id: I1f8b774eea3dcbe2b4e822e2b0b2efb1ccc01abb Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 95e315a66e4cc6bcafc442b6e5d5377b82ba8295) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* uic: Add QPdfViewFriedemann Kleint2022-09-081-0/+1
| | | | | | | | | | | Generate the correct header and Python import for the class. Change-Id: I3682b1659e73e0ccd35b617632a56a5c14715cde Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 2ac733832dc6ed2ce2f49b331bb852512f303c00) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Work round macOS's omission of en_DE from its own uiLanguages()Edward Welbourne2022-09-081-0/+18
| | | | | | | | | | | | | | | | | | | | | When the system locale is en_DE, macOS seems to think we should use en_GB as the right translation. While that probably is a sensible choice in the absence of an en_DE translation, we should definitely use the en_DE translation if available, especially if en_GB isn't available (which lead to a fall-back to de_DE, given later entries in macOS's list). So prepend the system locale's own pcp47Name() if it (isn't the C locale and) is missing from what we would otherwise have used for uiLanguages(), after likely sub-tag perturbations. Add a test simulating (some approximation to) what macOS was doing that would have caught this case; and add a scope-guard reporter to the test to report what shows up when lists don't match. Fixes: QTBUG-104930 Change-Id: I116234708067e1717d9157aebc84da76e04a9f38 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 753bfdf6a1336cc296e5fc8175aedd000c2cc013) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QVarLengthFlatMap for QPointingDevicePrivate::activePointsShawn Rutledge2022-09-072-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's good to use a pre-allocated set of points that never changes, because queryPointById() returns a pointer to the stored instance. If the flatmap's values are in a QList, and a mouse event comes in at the wrong time while touchpoints are already stored there, causing the QList to be resized, the returned pointer can become garbage. The pointer returned from queryPointById() is never retained for long, but in practice it turned out this could still happen, at least on X11 (perhaps because of X11 synthesizing mouse events from touch). Using a pre-allocated QVarLengthFlatMap is also an optimization: events on single-user systems are unlikely to ever cause memory allocation in this part of the code. Many touchscreens support up to 10 touchpoints, but the user might have some other input devices, plus the "core pointer" (mouse). The user could also have two touchscreens and try to use them simultaneously. d4611ba3a5b46ee790e6c790ef6c3d771d3507ee added QVarLengthFlatMap along with a test using int keys; so we expect that will keep working now. There was some issue in 2020 which is why I didn't use QVarLengthArray for the QFlatMap key and value containers to begin with. Fixes: QTBUG-106223 Change-Id: I588f66f07126b9551937a369df44f045759b473d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 83e70c315742c5de964a1fc5f973ad087f5894e2) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 88752a13778ad7cb77b8b331187ca6de52d1ab9c) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Clear the timer target time when stopping a timer on WASMMikolaj Boc2022-09-071-0/+1
| | | | | | | | | | | | | | | | | | | Not clearing the target time makes the subsequently created timers not get their time ticks, as no actual timeout will be registered as the dispatcher wrongly assumes there will be a tick fired, which there isn't. Since there are no updates, the WASM compositor enters an infinite window update loop where it requests an update on a window, and the window requests an update on it, getting the update request back due to an animation running forever. Fixes: QTBUG-105347 Fixes: QTBUG-102004 Fixes: QTBUG-104518 Fixes: QTBUG-106153 Change-Id: I14b8dd08df81852e28e8527545c8530e0656990d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit df4be707407685d9afdeacaca172c01dd74c07a8) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* QTextStream: Fix logical error in setEncodingMårten Nordheim2022-09-071-1/+1
| | | | | | | | | | | We only want to enable writing BOM if we have _not_ started writing. Fixes: QTBUG-106279 Change-Id: Ibcbc101b931615fddb2507f01307bf9619772d7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit c76f7cbbcbe68bf785e8d8cbbe641cd6c0e42834) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Refix QDockwidget drag out dockwidgetThorbjørn Lund Martsum2022-09-071-1/+1
| | | | | | | | | | | | | | | In f082458c4609dfa20fdfb8bfe3e625c311b145da a fix attempt was made and in a lucky example on Mac it worked well. However, the logic was still not correct and that could be seen in other systems/examples. This patch updates the logic to be the correct behavior in general. Fixes: QTBUG-106064 Change-Id: I3b098be9942d37c367b146a7359185bcfd127762 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 06556d079afcf8c53c7dbbc0592988f52a23ff68) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crash when setting override cursor on multiple clientsEskil Abrahamsen Blomfeldt2022-09-062-5/+5
| | | | | | | | | | | | | | | | | | | When a client disconnects, we need to disable its client cursor, otherwise there will be a dangling pointer stored in the pointer. In addition, we should reinstate the default cursor only when all clients have disconnected. Note: Patch provided in bug report. [ChangeLog][vnc] Fixed a crash when setting an override cursor on multiple clients. Fixes: QTBUG-105057 Change-Id: I0399087a924c05c8d0811b0ec0305b7857da5d3c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 9b6e79abbe66cc098ff8587c2f494716d920c4ea)
* Reland macdeployqt: Don't copy .prl files into the Resources folderMichael Brüning2022-09-051-3/+9
| | | | | | | | | | | | | | | QRegularExpression::isValid returns true on default constructed objects, so the filter was always matching even though it was not meant to be applied at all. Fix this by checking that there is a non-empty pattern string set and applying the filter only then. Fixes: QTBUG-87764 Change-Id: If37f8abaecacba3dc6f0b14da681a6e025367c10 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit aed7b5f3701ff51d088bc80c60b6bd4675a01077) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Correct typo in destination path variable namesMichael Brüning2022-09-051-6/+6
| | | | | | | | A couple of variables contained "Destianation" instead of "Destination" Change-Id: I98a15652347d1b0dad640bc49925ec296830147b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 60b069471dda1ae3cacca8cf8cfdd8a140e63563)
* Fix warning from testing assignmentVolker Hilsheimer2022-09-041-1/+1
| | | | | | | | | | | | | | | | | | | Tests that do QTRY_VERIFY(a = b); generate a compiler warning: using the result of an assignment as a condition without parentheses [-Wparentheses]: place parentheses around the assignment to silence this warning Do that centrally in the QTRY_TIMEOUT_DEBUG_IMPL macro definition. Change-Id: I4a4b0161c4e16c0e1e27a68f33a41efdaa2c962c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit b05a2768c2fb166bdca8f05a6833409fe5a40ee6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update zconf.h prefixes to match zlib v1.2.12 updateChristian Heimlich2022-09-032-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Historically Qt has used `Z_PREFIX` within zconf.h of its bundled zlib copy to prefix all zlib symbols with `z_` in order to prevent clashes with a potential system install of the library when linking statically; however, v1.2.12 introduced 3 new functions that were erroneously not accounted for in the upstream repository: - crc32_combine_gen - crc32_combine_gen64 - crc32_combine_op `403020` updated our bundled zlib to this new version and therefore Qt has inherited this oversight, now clashing with external zlib builds. Manually add prefix macro definitions for these three symbols to restore built-in zlib to its previous clash free state while waiting for the issue to be addressed upstream. Change-Id: I83f88109a08cf7e7117f1c94b4557a2c36f519c3 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit 54ea62756a7b0d47370551b0ec07f602cb341228) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Windows: avoid losing transparency when pasting images into Qt appsEirik Aavitsland2022-09-021-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before Qt6, we would only request a DIBV5 format image from the clipboard if that format was available without synthesizing. Then, in commit 8fa91c75ad that check was believed to be needless, and removed. However, it turns out that it is needed to avoid loosing transparency information, so we revert that part and bring back the check against synthesized DIBV5. The logic is that some widely used apps will provide images in both PNG and DIB on the clipboard, and only the former can have an alpha channel. When we request a synthesized DIBV5 rather than a PNG, it seems we only get the (opaque) DIB image repackaged as a DIBV5. On Windows 11, there even seems to be an issue (possibly a Windows bug) where, after asking for a synthesized DIBV5, the clipboard contents is somehow changed in a way so that pasting again into other (non-Qt) apps later will yield a corrupted (pixel-shifted) image. (It looks like they get a DIBV5 when they expect a DIB). So avoiding requests for synthesized DIBV5 also avoids triggering that issue. Also add some logging outout to help future debugging. Fixes: QTBUG-104872 Fixes: QTBUG-105338 Change-Id: I33ffa2b50870b887a083e9bbb1b2234604e4d8ab Reviewed-by: André de la Rocha <andre.rocha@qt.io> (cherry picked from commit 8cb78647e3d210e73a6dd4f0ca744b2887c482b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: 3rd party: Fix reference to FreeType LICENSE.txtTopi Reinio2022-09-021-1/+1
| | | | | | | | Change-Id: Id5c92938948c636765590e1bee2dd9c2baeb826b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit cf3461bab3507e834dbcaaefe59961102583675e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Windows QPA: send UIA focus notification after window activationAndré de la Rocha2022-09-021-0/+4
| | | | | | | | | | | | | | After a Qt application window was opened, and focus was moved to another window, and then back to the Qt application window, NVDA would only announce the window name, but not the widget focused within the window. This patch makes Qt send a notification focus for the focused widget after a window activation notification. Fixes: QTBUG-105735 Change-Id: I3426b3613ae546de0ce363f9acc5d6776c99a8aa Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 3e95884081727b84df265e2fa3456f2393e61f7b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Add reference documentation for QT_IOS_LAUNCH_SCREENAlexandru Croitor2022-09-022-5/+43
| | | | | | | | | | Amends 578f4ba00c9fce9af922c9924ca104bc47e50f03 Task-number: QTBUG-104519 Change-Id: I02ea0694ead0e5b8c7a70a09cc14b51d8e374dd5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 3eb2918f2ec95d1efd198106e78a109b1accfd86) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android A11Y: Check for active surface before calling into native codeJens Trillmann2022-09-021-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes a deadlock. The deadlock occurs on an application state change. During this state change the QML plugin requests Android to create a new surface for drawing and waits on the Android thread to complete the request (QAndroidPlatformOpenGLWindow::eglSurface()). In the meantime the android a11y delegate gets requests from the android a11y interface. The delegate tries to access the a11y information through the native interface, where it has to wait for the main loop thread to get the a11y information from the QtQuick objects. This leads to a deadlock in which the main loop thread waits on the quick rendering thread, the rendering thread waits on the android thread and the android thread waits on the main loop thread. This workaround avoids this issue by not calling into native code until a rendering surface has been created. Task-number: QTBUG-105958 Change-Id: Ib99145aa689d1d62e25d25e1f4f8598d53eee3a9 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit b8a95275440b8a143ee648466fd8b5401ee1e839) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QVariant: fix conversions of Q_ENUM that are QFlags<> to stringEirik Aavitsland2022-09-021-5/+13
| | | | | | | | | | The doc of QMetaEnum::valueToKey() says to use ::valueToKeys() instead for flag types. Change-Id: I48e5ba47324137f2ce2710f1d876e93e7c562e9f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 54aa7e75b89d5d27e59594ce35206089ccc22d3b)
* Add CBOR documentationØystein Heskestad2022-09-029-5/+91
| | | | | | | | | | | | Add documentation of usage of CBOR in convert and cbordump examples, add a CBOR overview, and add links to them other places in the documentation. Task-number: QTBUG-85912 Change-Id: I518792db63647bf9ddd4507d8d4b7ef056192f82 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 855a9ca217ad3b9d8eb8f6544698a174323843fc) Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* QGtk3Dialog: remove the #include for empty mocThiago Macieira2022-09-011-2/+0
| | | | | | | | | | | | | | | | | | | This amends 64e6233252117415d6765b6f7a8f4df39490b678. Automoc complains: AutoMoc warning --------------- "SRC:/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp" includes the moc file "qgtk3dialoghelpers.moc", but does not contain a Q_OBJECT, Q_GADGET, Q_GADGET_EXPORT, Q_NAMESPACE, Q_NAMESPACE_EXPORT or Q_ENUM_NS macro. AutoMoc: /home/tjmaciei/src/qt/qt6/qtbase/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp:0:1: note: No relevant classes found. No output generated. Change-Id: Ic6547f8247454b47baa8fffd170ea8a8ce0ed06c Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Ilya Fedin <fedin-ilja2010@ya.ru> (cherry picked from commit 43aaffb0185e018b666359609b5ff82686226e05) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: set _NET_STARTUP_ID at client leader windowIlya Fedin2022-09-015-6/+31
| | | | | | | | | | | This should help to overcome WM's focus prevention mechanism Fixes: QTBUG-96276 Change-Id: Ic5fb46f7ce54f0df29850725bafa364b74e30d25 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit ba8c4b4ac6df8c4318e3dd8c886aa0135628d33c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: fix D&D in same xembed clientLiang Qi2022-09-011-9/+24
| | | | | | | | | | This is kind of porting missing parts QX11Data::xdndHandleDrop() in src/gui/kernel/qdnd_x11.cpp in Qt 4. Change-Id: I3a9d657c63dbca43e33262f49484861e60f59b58 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 7bc63f345f9ab296979a75c6f4547ef038fd8b37) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: use global coordinates for position of D&D for xembed clientLiang Qi2022-09-011-1/+1
| | | | | | | Change-Id: I4805b764b11b86e2b0975ca45f7182f2719fda74 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 64cd43d394aa389ee28db5abad6a394d3ad44aea) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QVariant: fix conversions of string keys to Q_ENUM that are QFlags<>Thiago Macieira2022-09-011-5/+11
| | | | | | | | | | | | | | Since Qt 6.0, QMetaType stores the name obtained from the C++ compiler, which means we know a type like Qt::Alignment by its proper, full name of QFlags<Qt::AlignmentFlag>. However, the meta object records only the bare name of the enumeration, not the full flags. Fixes: QTBUG-105932 Fixes: QTBUG-96185 Change-Id: Ic6547f8247454b47baa8fffd170eab977e306377 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 98e21f0979143a1e278572390012f021dfed1b6a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Update QMetaType::metaObject() descriptionsMike Trahearn2022-09-011-11/+13
| | | | | | | | Change-Id: Iff93f8fe2cf701d56d072e2593c76d49a70fc183 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit e27ecb203538208157e3e0e710ae54ab8bd2a844) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix two trivial defects in testlib docsEdward Welbourne2022-09-011-2/+2
| | | | | | | | | | | | | | A fragment of inline code wasn't wrapped in \c{}. Doing so made the quotes it was wrapped in redundant. Documentation of of QSKIP's parameter claimed it does something it should, but it's up to the client code using it to write a description that lives up to that. Change-Id: Ib355b9b85c9986f244ae01479134245f182c912c Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 6dd6bf3467040b3efceafa317de6e833ee5ec15e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Provide CMake guidance for skipping whole testsEdward Welbourne2022-09-011-5/+14
| | | | | | | | | | | The testlib docs on how to skip whole tests was qmake-specific, so add the missing details for CMake. Change-Id: I247d08262302dcedb98ffbf301932d6dd84d7ff7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> (cherry picked from commit 8814fb5f4faff2d8442e481feb1bb35c2250e930) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macdeployqt: Fix deploying libraries with `reexport`Jonas Kvinge2022-09-011-1/+1
| | | | | | | | | | | | | | Fixes deploying libgcc, currently it fails to change the rpaths with the following error: ERROR: Could not parse otool output line: "\t/usr/local/opt/gcc/lib/gcc/11/libgcc_s.1.1.dylib (compatibility version 1.0.0, current version 1.1.0, reexport)" Change-Id: I5c866a375f88e3b222cbdbebc167b04174f753b2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 2e8c84cda25de38d64669a9d078d87c7d2bf451c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QLocale: port to qsizetype [2/N]: remainder (qlocale_win.cpp partial)Marc Mutz2022-09-014-29/+29
| | | | | | | | | | | | | | | | | | | Port ints to qsizetypes where they're not blatantly wrong. This includes indexed loops that don't require the additional range, because int these days is a code smell, so if we can save the next code reader a few moments of digging to convince herself that the int is ok even in 64-bit builds, then let's do it. The Windows implementation only has the most obvious occurrences ported, because I lack platform access. Created QTBUG-105100 to track the missing changes. OSX should be fine, provided sizeof(long) == 8 on 64-bit OSX. Task-number: QTBUG-103531 Change-Id: I679183f28ed42e89e2879e29457e6a4e487fed0d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 24e8a693cdf418a90559472addfd49637ff4e270) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* [docs] Fix ints that should be qsizetype [src/corelib/text]Marc Mutz2022-09-015-7/+7
| | | | | | | | | | | | | | For the constructors, replace int with qsizetype. For the incorrect return type in \fn of length(), drop the return type, the presence of which violated DRY, stressing the importance of that SOLID principle. Fixes: QTBUG-103531 Change-Id: Ic7a8e1953333c28a2722fd7f753a0b5af6777395 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 334c27dad139956135b8687bf695e3cfa0228b9c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* widgets: avoid setting X11BypassWindowManagerHint in QToolBarLiang Qi2022-09-011-1/+1
| | | | | | | | | | | | | | | when restoring state With X11BypassWindowManagerHint, the floating tool bar was created without control from window manager, which causes it stays on top at all virtual desktops. Fixes: QTBUG-105591 Change-Id: I1868f4e75e1b84f9e81c05d2e927a183a0c635ee Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit c3c4d4dda942cab92a8fdcd47a5973f5ecf59d40) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android A11Y: Notify android about scroll eventsJens Trillmann2022-09-018-0/+40
| | | | | | | | | | | | | | | | | | | | | QtQuick Flickable has an issue that after a scroll the previously hidden items are not added to the A11Y hierarchy. That happens because Android has no ways to detect that something has changed. This patch uses the ScrollingEnd event to notify Android A11Y backend that the Flickable was scrolled, so that it could update the A11Y hierarchy and add the previously hidden nodes. The ScrollingEnd event generation is added to QQuickFlickable in a separate commit. Task-number: QTBUG-103513 Change-Id: Ie6cd688d56343bcfe7ce9580c0b9244dd6d6c068 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Samuel Mira <samuel.mira@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 3c709198838866d5122c69a30cacdc806605d0cf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* wasm: add Emscripten version check for appsLorn Potter2022-09-011-0/+2
| | | | | | | | | | | This will tell developers if they are using the wrong version which may not build or might cause other issues. Fixes: QTBUG-105922 Change-Id: Ic5c4549d5637182dce380e415f131e33a4da416f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit b515fa56a3144289023dc9588c5f73283599e4d4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Move Apple specific functions into a separate fileAlexandru Croitor2022-08-311-625/+0
| | | | | | | | | Task-number: QTBUG-95838 Change-Id: Ib0ce53fe0e2068482b654921ecba3232efe656c8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 51f8eaa3283daf78f32caa2f9db08860c3f7be9d) Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Fix tree/table/list accessibility stateAndré de la Rocha2022-08-311-1/+21
| | | | | | | | | | | | The accessibility class associated with trees, tables and lists was reporting a default/empty state, causing issues with accessibility tools. Fixes: QTBUG-92964 Change-Id: I9c8ee5e7e582fd6b6a59cd70437eeddad0f4eb8e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0d3f09ac0231fca114aa58553144b78f8040a2e1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Restore signature of qt_handleTouchEvent()Kai Köhne2022-08-314-5/+15
| | | | | | | | | | | | | | | The function return value changed in commit e1f25b1c8. Anyhow, this breaks the AUT probe of Squish on Windows, as long as it is built against an older Qt version. Squish can of course be adjusted eventually, but let's allow some grace period. Fixes: SQUISH-15324 Change-Id: I289ed43bffcf292aa2eae3962a4661ed5c29100e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 4a29ee770f76e72fe71275d5f987fc9de9af12a0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix dragging a docked QDockWidget [REG-fix]Thorbjørn Lund Martsum2022-08-311-1/+1
| | | | | | | | | | | | | | In 54f328f0e8205480749a6d8d2ebe0e58cb1cdb67 issues with dragging dock widgets between screens were solved. However, it only worked well if the widget was floating. It worked wrong when dragging out a docked widget. That is fixed by this patch. Fixes: QTBUG-106064 Change-Id: I8d486d30a334719a2931828464ccaceb8ba2e019 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit f082458c4609dfa20fdfb8bfe3e625c311b145da) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* RCC: fix zlib compression when --no-zstd was specifiedThiago Macieira2022-08-312-14/+10
| | | | | | | | | | | | | | Since we had code to default to zstd as the default algorithm instead of "Best", we ended up not compressing anything. [ChangeLog][rcc] Fixed a bug that caused rcc not to compress files with any compression algorithm if the --no-zstd option was present. Fixes: QTBUG-106012 Change-Id: Ic6547f8247454b47baa8fffd170fddae429f82d2 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit f12321288009119552df10df75c77228f6bac0db) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix possible undefined behavior in clear_thread_dataNiclas Rosenvik2022-08-311-2/+1
| | | | | | | | | | | | | | | | | Fix possible undefined behavior in clear_thread_data. The key used in pthread_setspecific must be obtained from pthread_key_create or undefined behavior occurs. Use set_thread_data to clear it since it ensures that the key has been obtained using pthread_key_create by calling pthread_once using create_current_thread_data_key. Fixes crash when closing threaded qt apps on NetBSD. Change-Id: I1c7d2628f4248e00a12724a952568f7d92011986 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6d930533037f27b906bbd02b0764041d931efb5d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make QKdeTheme aware of runtime theme changesAxel Spoerl2022-08-311-5/+148
| | | | | | | | | | | | | | | | | | | | When the KDE theme gets changed programatically or by the user in KDE settings, Qt applications were not notified during run time. The KDE theme was read during startup only, when the QApplication's palette was constructed. This patch implements a DBus connection to the SettingChanged signal. QKdeTheme is notified about KDE theme changes, which trigger an application palette reconstruction and all subsequent QEvents. The implementation reacts to changes the in KDE settings "widgetStyle" and "ColorTheme". The application palette is updated only if the underlying settings change results in a palette modification. Fixes: QTBUG-103093 Change-Id: If0ec0f0ba515ef3dcf9924283d3a818ac7d24a7b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 223fdc7d52665b2fab24c0624b969bfdab067a2f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* 3rdparty/zlib: backport the fix to CVE-2022-37434Thiago Macieira2022-08-312-2/+38
| | | | | | | | | Qt isn't known to be affected by this. Change-Id: Ic6547f8247454b47baa8fffd171025f5a435a209 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit ab3342c26f4b7926b1c210df4dd254962b170da1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Request frame when a window has been movedMikolaj Boc2022-08-311-0/+2
| | | | | | | | | | Whenever a window's geometry changes, the scene has to be redrawn. This has not been the case if the size didn't change. Change-Id: Ic85e1d75221134788ab2cf2e76bf2ba121f3335e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 11c19ac6e2892a552e5302fdf71aeb3e6a7812e9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qthread.h: fix logic for Q_OS_FREEBSD and add support for 32bit FreeBSDTobias C. Berner2022-08-311-2/+2
| | | | | | | | | | | | | | | | | | Fails to compile on i386 on FreeBSD with: In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.3.1/src/corelib/thread/qmutex.cpp:49: /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.3.1/src/corelib/thread/qthread.h:201:13: error: invalid operand for instruction __asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : ); ^ <inline asm>:1:14: note: instantiated into assembly here movq %fs:8, %edi ^~~~ 1 error generated. Change-Id: I0a71e4631d7b6d452083d3ca8e35759e5dc563d4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit b1c57d13eecc208408b7ed05f888d7625fb6e251) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Fix storyboard entry in an iOS Info.plist fileAlexandru Croitor2022-08-311-3/+6
| | | | | | | | | | | | | It should not contain the .storyboard file extension, just the base name. Amends 578f4ba00c9fce9af922c9924ca104bc47e50f03 Task-number: QTBUG-101064 Change-Id: I70ce4581baec7cd62c2dae25c1ed963be28eddfe Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 5b43a673df8b83d23ed0b9f9f77cbd901c306d20) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Clarify documentation for target and project finalizationAlexandru Croitor2022-08-311-10/+19
| | | | | | | | | | | Amends 944c424ff601fe546a0ac83e0d8b3f781beb68f6 Amends 63f79d7ffb22de89a2c6314caa5b5a1908590063 Change-Id: Ic8f3376f49b7aaeaa4bf307aa401c54d48cd5c4d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit b0fef2849b97f9a315018efb49ab9d8974e2c19a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Add documentation for QT_NO_COLLECT_BUILD_TREE_APK_DEPSAlexandru Croitor2022-08-312-0/+23
| | | | | | | | | Amends 63f79d7ffb22de89a2c6314caa5b5a1908590063 Change-Id: I0d2fb6377653d88f4899b990d9c073df86047b61 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit fbcf910831ef7ba4897d7e818dc0c1c3e45e28a6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDateTime: work around bitfield bug on msvc x86Mårten Nordheim2022-08-311-5/+12
| | | | | | | | | | | Somehow, when mixing types in a bitfield, MSVC will use a lot more space than expected. So ShortData ended up being 16 bytes causing various static_asserts to trigger. Change-Id: Ia0032e71621772db27e2917d9c71598046730107 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit a901afcd79fe0ac7cf257f2ed45c72a7cfaf028a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android A11Y: Fix TalkBack scrolling behaviorJens Trillmann2022-08-312-4/+33
| | | | | | | | | | | | | | | | | | | | | | * Add CollectionInfo to scrollable nodes. Every scrollable node will get a CollectionInfo attached to signal the number of (possibly invisible) children. This is necessary as TalkBack on Android doesn't scroll to items not visible on screen if the number of further child nodes is not communicated to TalkBack. * Return success of scroll to TalkBack. TalkBack needs the result of the scroll to decide if it should leave the current element or stay after a scroll was successful. Success of a scroll action is measured as the successful movement of the children of the scrolled element. This is a workaround for the Qt Accessibility API not returning the success of failure of a performed action. Task-number: QTBUG-103499 Change-Id: Ie2c51d0b77fb5030973a0f93c42e0db3082be45e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 56c4d183ec30c7f40ece09de1c483829eedc299b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* a11y: Don't reassign unique ID to other object right awayMichael Weghorn2022-08-311-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the case that a newly created and registered accessible interface gets removed again from the cache before another one gets registered, the next registered interface was previously assigned the same "unique ID" again, which e.g. breaks assistive technology when using caching with AT-SPI, since that relies on the assumption that the ID is actually unique for each object. (But here, the new object was using the same object path as the old one, so data from the old object would be used for the new one.) To prevent that from happening, increment the counter for the next ID to try at the end of QAccessibleCache::acquireId, so the next time the method gets called, it doesn't try again whether the same ID as used previously is available again. For consistency, also rename the variable used for the counter from lastUsedId to nextId. This also adds a corresponding test case. Fixes: QTBUG-105962 Change-Id: Iddf4f3b35c57895bcfbb623a5377edf8344ab6c2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 8b947bae72bf661d31372d1bb5e3a16db50fca08) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>