aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* QQmlDebugTranslationService: work around GCC bug std::variantThiago Macieira2025-10-271-0/+3
| | | | | | | | | | | | | | | | | | | Like std::optional, libstdc++'s std::variant may leave space outside of the active object uninitialized. Then GCC complains. Amends 4c6fb83b980aaca1e039e43ff0504e1ac0cd3aad, which attempted to workaround this bug by switching from std::monostate to std::nullptr_t. It didn't work. qqmldebugserviceinterfaces.cpp:54:21: error: ‘((QArrayDataPointer<char>*)((char*)&translation + offsetof(QQmlTranslation, QQmlTranslation::m_data.std::variant<std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Variant_base<std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Move_assign_base<false, std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Copy_assign_base<false, std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Move_ctor_base<false, std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Copy_ctor_base<false, std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::<unnamed>.std::__detail::__variant::_Variant_storage<false, std::nullptr_t, QQmlTranslation::QsTrData, QQmlTranslation::QsTrIdData>::_M_u)))[2].QArrayDataPointer<char>::d’ may be used uninitialized [-Werror=maybe-uninitialized] This cannot be our bug. QQmlTranslation has a single, non-trivial member of type std::variant, so the variant is definitely initialized. If there's a bug, it's in libstdc++, so make the warning go away. Pick-to: 6.10 6.8 Change-Id: Id599211844d0350d7262fffd7315a20f9d367402 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlValueTypeWrapper: fix build with -Walloca-larger-than=Thiago Macieira2025-10-271-0/+3
| | | | | | | | | | | | | It considers the possibility that the metatype returned size and alignments of 0, thus causing space to be -1. qqmlvaluetypewrapper.cpp:551:13: error: argument to ‘alloca’ is too large [-Werror=alloca-larger-than=] qqmlvaluetypewrapper.cpp:551:13: note: limit is 9223372036854775807 bytes, but argument is 18446744073709551615 Amends 2ff1ff3a2ca4798f39d10e478e4a9e3c47811c4f. Change-Id: I626bdff1c60376dfc418fffdd8e49d53e1b81c91 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Fix swapped parameters in QDoc link commandsDavid Boddie2025-10-272-2/+2
| | | | | | | | These links coincidentally happened to go to sections with the target name but I assume that the aim was to link to the scene graph overview. Change-Id: I77662158a2f7f8cb679a8585b6c15c61689a3c58 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Fix links to Qt Quick and Qt Quick ControlsDavid Boddie2025-10-279-35/+36
| | | | | | | | Making links explicit prevents QDoc from auto-linking when not desired. Marking QtQuick as code when relevant also prevents auto-linking. Change-Id: Ib187cb94f59a418c77ef2931999f634e557c8200 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* doc: use of QML Tooling with Qt Bridges projectsSami Shalayel2025-10-271-0/+538
| | | | | | | | | | | | Add internal documentation for Qt Bridges projects. Describe what our CMake scripts generate, so that other projects can also generate QML Modules that qmllint and qmlls can use. Also describe on how to invoke qmltyperegistrar, qmllint and qmlls, and what is the JSON output of MOC that qmltyperegistrar requires. Fixes: QTBUG-141119 Change-Id: Ifbc8f72b7e313ce319104b3bc119a7ec26a43c97 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* doc: remove hints to QT_QML_GENERATE_QMLLS_INISami Shalayel2025-10-274-21/+8
| | | | | | | | | | | | | It shouldn't be needed anymore in Qt 6.10, so remove all links and hints to it across the documentation. The QT_QML_GENERATE_QMLLS_INI variable still does stuff in 6.10, so keep the QT_QML_GENERATE_QMLLS_INI documentation still around. Fixes: QTBUG-141225 Pick-to: 6.10 Change-Id: I0312dc8beaa2417ad2621a0da5feb8a27a280865 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* qmlls: don't warn about QT_QML_GENERATE_QMLLS_INI anymoreSami Shalayel2025-10-271-3/+1
| | | | | | | | | | We don't need the .qmlls.ini generation anymore in 6.10. Don't hint the user about it in qmlls. Pick-to: 6.10 Task-number: QTBUG-141225 Change-Id: Ie31e486a9b517cd442feb6dec3ec47f144d5e7ac Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlModels: Always produce valid context for functions in ListElementUlf Hermann2025-10-272-4/+14
| | | | | | | | | | If necessary, create the inner QQmlListModel eagerly. It would otherwise be created lazily when retrieving the function. Pick-to: 6.10 6.8 6.5 Fixes: QTBUG-140900 Change-Id: Icf26570e7bd214c04855de1dfc22b2a6a1dae709 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QQmlDelegateModel: Don't try to destroy nullptr objectsUlf Hermann2025-10-271-2/+5
| | | | | | | | | | The object is stored in a QPointer for a reason. If it's already gone, we don't have to destroy it anymore. Check accordingly. Pick-to: 6.10 6.8 6.5 Fixes: QTBUG-141105 Change-Id: I36278cac5990e5063b9021104267d83578678559 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Consider new Switch role introduced in qtbaseLars Schmertmann2025-10-272-6/+12
| | | | | | Task-number: QTBUG-139676 Change-Id: Iea39ae7c18e71956e7a101a86425c84d876e8730 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
* Software Renderer: Fix artifacts with non pixel aligned contentAndy Nichols2025-10-271-0/+5
| | | | | | | | | | | | | It was possible that we would request to flush more of the backing store than what was actually painted, which could lead to artifacts. Now when there is a difference caused by the pixel alighment conversions, we make sure to mark items behind that content as dirty so that everything necessary to render correctly is painted. Fixes: QTBUG-133368 Pick-to: 6.10 6.8 Change-Id: I9766017eb610792ffa17b745c356b614e4e28752 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Allow text edit to process key events when shortcutoverride configuredSanthosh Kumar2025-10-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The shortcut override has been made to be ignored by default as part of the patch 1aefea26e5a574dad25646d330a6b3bb943a596c. And the further changes in the same patch were made to check whether the shortcut override can be accepted by text edit before processing the events. If the shortcut override has not been accepted (either by default or explicitly ignored by the user), the keys would be processed further by the textedit. The validation added as part of the same patch for processing the event doesn't seem to be correct, as it allows the key to be processed by the text edit control only when the key handler is not configured. This approach seems to be incorrect, as the text edit control shall be allowed to process the key events regardless of key handler configuration. This patch removes that validation, thus allowing the text edit control to process the key events regardless of key handler configuration. Fixes: QTBUG-139679 Task-number: QTBUG-136959 Pick-to: 6.10 6.8 6.5 Change-Id: I7c066e5f3709a00d0b18f0c5e8b9d1f7944c4e4e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* a11y: Fix TextField so that Accessible.description returns the correct valueEven Oscar Andersen2025-10-271-2/+2
| | | | | | | | | | | When setting an implicit description (from placeHolderText) it would unconditionally overwrite any explicitly set Accessible.description (even if the placeHolderText was empty), causing Accessible.description to be empty even if it was previously explicitly set to a non-empty value. Change-Id: Ice3f81dba1a4c188be71856860e7d6b3a0cf9f95 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* qmlls: support relative import paths just like qmllint doesSami Shalayel2025-10-243-1/+44
| | | | | | | | | | | | Support relative import paths in qmlls.build.ini and .qmlls.ini files. Add a helper function in QQmlToolingSettings that takes care of resolving paths, and use it in qmlls. A later commit will also use it when loading .qmllint.ini files. Fixes: QTBUG-141219 Pick-to: 6.10 Change-Id: Idc22ac07f7aa9910f7e5a6ca51115a457a909fa6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Slider/RangeSlider: ensure empty groove has the correct lookRichard Moe Gustavsen2025-10-242-33/+17
| | | | | | | | | | | | | | | | | | | With Liquid Glass enabled, the groove of the Slider and RangeSlider had a border which made the groove look taller than the track/progress (which had no border). But looking more carefully at the native NSSlider in Xcode, it shows that the Slider groove (and track) should no longer have any border at all (which is different from how it looks in macOS 15). This patch will therefore draw the track without a border when running with Liquid Glass. Using nested rectangles in order to draw the slider in the macOS 15 style was also unnecessary, as we can achive the same look by using a single Rectangle. Pick-to: 6.10 6.9 6.8 6.5 Change-Id: I9d03a212f39857a448d103372636e9a12a7cbd3f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* ProgressBar: ensure the groove resepect the width of the controlRichard Moe Gustavsen2025-10-241-2/+4
| | | | | | | | | | | | | | | As it stood, the progress bar groove would not be resized according to the size of the control, since it lacked at width binding. This patch will make sure to resize the groove correctly. It also fixes a binding loop warning related to the use of Loaders in combination with childrenRect in the same go. Fixes: QTBUG-141182 Pick-to: 6.10 6.9 6.8 6.5 Change-Id: I1aa87db339b04686ca521b486e4c7a05683a7679 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc: Fix links to replacement dialogsDavid Boddie2025-10-245-5/+5
| | | | | Change-Id: Ifd85cfa7567aee1e13369b1d16ac0da7bd69a860 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* doc: Fix mention of DragHandler in TapHandler docsShawn Rutledge2025-10-241-1/+1
| | | | | | | | Amends 6eaa95662c2d4ba287ac5d1de5ec49bd3a9f59e6 Pick-to: 6.5 6.8 6.10 Change-Id: I195e26fa1a703607b1d65d57e5dc43a072b05e72 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Run tst_qquickfiledialogimpl also with the Imagine styleOliver Eftevaag2025-10-242-3/+2
| | | | | | | | | | | The intention was always to run it with every single built-in style. Previously the Imagine style was omitted because of an issue that needed more investigation. It seems like that has since been resolved, and that it's safe to include it in the list of styles to run tst_qquickfiledialogimpl with. Change-Id: I7634a938c550392f8f5c18c141404c80a7ab99b2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Android: fix QtQuickView fields access levelAssam Boudjelthia2025-10-231-10/+10
| | | | | | | | | | | | Some fields under QtView and thus under QtQuickView are marked as protected which ends up shown in javadoc. These fiedls are internal and shouldn't be treated as public, so instead, make them private and provide package-private getters/setters for QtQuickView to access those fields internally. Task-number: QTBUG-141365 Change-Id: Ibefd262412a07b323ff9c40bcf57f5da21b53975 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* RectangularShadow: Add support for individual corner radiusKaj Grönholm2025-10-235-11/+365
| | | | | | | | | | | | Add API for specifying individual corner radius values similar to Quick Rectangle. Try to keep the overhead minimum when not used, by storing data in lazily allocated extra and using separate shader. Use the API in the neumorphicpanel example. Task-number: QTBUG-141110 Change-Id: I90e558526dff01c88fb2d163a33704b8f73aa1fc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Doc: Fix formatting in the List of JavaScript functions topicAlexei Cazacov2025-10-231-252/+252
| | | | | | | Fixes: QTBUG-141198 Pick-to: 6.10 Change-Id: I1235d021416d43c00cc856f10e826369a34c826c Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
* Doc: use registerModule in "Use a C++ enum in JavaScript" how-toMitch Curtis2025-10-231-2/+2
| | | | | | | | | | | This is apparently better than using globalObject. registerModule was introduced in 3464655f5e2adaa1aed8925a9a54b8fb5f238f31. Pick-to: 6.8 6.10 Change-Id: Ic664e65d7e5f8d65004112802e8f19f4f790bb7d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Compiler: Avoid generating duplicate settings namesOlivier De Cannière2025-10-221-2/+4
| | | | | | | | | | | | The two computations may result in the same string. Insert the second one only if it is differnt. Amends c4455f1771483c8ed63d27454242f19b28b524b0 Pick-to: 6.10 Change-Id: I0c4df0cf6bb5bba2c1cf6c50b8a7f105718b85ee Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Doc: Replace text with \since commandsDavid Boddie2025-10-222-2/+2
| | | | | | | | QDoc is able to refer to whole property groups using \since commands, so we can replace hard-coded text with those. Change-Id: I712e24cac48190ba805795e0d8e4abc18732b785 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Link directly to pages and use markup for verbatim textDavid Boddie2025-10-222-4/+4
| | | | | | | | | Don't rely on auto-linked text for QtQuick. Instead, link explicitly to specific pages. Use markup to display a token from a quoted file, and to prevent auto-linking. Change-Id: I4de0f12e4c757dc47abcffaf05ead9f0ab6fabeb Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Support masked items with transformsEskil Abrahamsen Blomfeldt2025-10-221-5/+18
| | | | | | | | | | | | | | | | | | When we get the bounds for our masked item, we need the bounds of the actual shape it contains. This means we want to apply all styles except the transform, since the transform will be applied to the ShaderEffect item later on. All the other styles might affect the content bounds. We could perhaps solve this by adding a contentBounds() to QSvgNode, which returns the bounds untransformed, but for now we just apply the inverted transform to the rect afterwards to cancel the effect. This of course means that if you set a degenerate transform on the item, it will not work correctly, but that implies that you are scaling one of the axes by 0, so this is theoretical corner case. Fixes: QTBUG-141168 Change-Id: I3221e599cf4bfe48733173ecb13e28058066b19c Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
* Compiler: Clean up LoggerCategoryPrivateOlivier De Cannière2025-10-222-32/+33
| | | | | | | | | Unfriend LoggerCategory and actually implement accessor functions. Amends cdd7fe05f676ed1664a156beaf63093237a3beac Change-Id: Iee580f98d84ec554467cb8ab779a4178c7f745fc Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Make QQuickPopupPrivate::handleTouchEvent() use QEventPoint::scenePosition()Sze Howe Koh2025-10-212-4/+4
| | | | | | | | | | | | | | | QQuickPopupPrivate::handleMouseEvent() has already converted from `item->mapToScene(point.position())` to `point.scenePosition()`: 1. fe86b0fda7bcce099a0bca08e6925e89efc634c4 2. e481f1c414d7c243efabe4215b1865c616d25ce0 Give QQuickPopupPrivate::handleTouchEvent() the same treatment to fix swiping open Drawers by touch. Change-Id: Ieb4b8f0677043f09771e5700c8d441cc90d7fa75 Fixes: QTBUG-132914 Pick-to: 6.10 6.8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qmllint: Fix typo in assignmentInCondition warningOlivier De Cannière2025-10-211-1/+1
| | | | | | | | Amends ce69cc78c0aaa0afea5cd74d15ea37685948e6d0 Pick-to: 6.10 Change-Id: I43b514bc390f84151814eb74b3062c80162218c3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* doc: remove \c in brief of QT_QML_GENERATE_QMLLS_INI_NO_CMAKE_CALLSSami Shalayel2025-10-211-1/+1
| | | | | | | | | | With \c, the brief gets rendered as: Customizes the value of no<@op>-</@op>cmake<@op>-</@op>calls in .qmlls.ini files for QML Language Server. Pick-to: 6.10 Change-Id: Ib4579d70d10097872cc1bd93092fbf7d2a6c1bc1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* QQmlCodeModel: call CMake on workspace openingSami Shalayel2025-10-211-4/+2
| | | | | | | | | | | | Run CMake when opening a workspace, right after CMake was enabled. Add a scenario in the manual test for this feature, and disable CMake builds in some tests to avoid running CMake in unrelated tests and making them slower. Fixes: QTBUG-119163 Change-Id: Ia076db3d44fa41db747dc09afdb2902be0c472a3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQmlCodeModelManager: remove defaultX membersSami Shalayel2025-10-214-34/+47
| | | | | | | | | .. and use the values from the fallback codemodel directly instead. Also make changes in the build or import paths be directly reflected in the DomEnvironments. Change-Id: Ie3c6460c88699d80008c7680281fa9d17f3a7d74 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmllint: prefer enums over chained attached typeSami Shalayel2025-10-211-10/+9
| | | | | | | | | | | | | | | It seems that FlexboxLayout.Row is actually ambiguous: it could refer to the "Row" enum value, and to the attached type of "Row" which is attached on the attached type of "FlexboxLayout". Fix qmllint to follow the qml engine's interpretation of the thing, and resolve it as an enum instead of a chained attached type in QQmlJSTypeResolver. Pick-to: 6.10 6.8 Fixes: QTBUG-141194 Change-Id: I24e23f5fc92b0d007ff1d628b6286f85a60f10d8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* V4 Date: Support more nonstandard date formatsSami Shalayel2025-10-211-1/+4
| | | | | | | | | | | | | | Introduce support for obsolete RFC2822 dates that has 2 digitted years, or 1-digited hours (2 instead of 02), which now should be rejected by qdatetime and instead parsed via a custom string format in ParseString(). Amends 43eaa77e8ed03153335c0002dcc8b660c39a0beb and 41a5c7b223d958bd40240aee81bb8fb96540735d. Pick-to: 6.10 6.8 Task-number: QTBUG-100377 Change-Id: I802af9edc7f755b7dba345bf60548714a7335545 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Dom: also lazy-load files that don't exist on diskSami Shalayel2025-10-211-1/+3
| | | | | | | | | | | | | | Fix FileToLoad::fromMemory to not set an empty file path on non-existent files. Otherwise, the lazy-loading machanism will see that the factory has an empty path and will think that the factory is invalid and won't populate the file. Add a test that files with nonexistent file paths get populated. This case might happen while writing tests with snippets, where no on-disk file exists. Change-Id: I48ffd5f47a5f5f5111cfd257059093ce13ed5293 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add QT_QML_DEBUG compile definition to the Qt6::Qml targetAlexey Edelev2025-10-212-1/+52
| | | | | | | | | | | | | | | | | | | Consider the QT_ENABLE_QML_DEBUG target property when building QML executables and add the QT_QML_DEBUG compiler definition to enable QML debugging. The property is defined and intialized with the QT_ENABLE_QML_DEBUG variable value on target creation. But can be set manually. TODO: Leave the flag undocumented in this commit. Since it's the public API change, we only document it in further releases, but QtC may use it with all supported Qt versions the undocumented "private" way. Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-139551 Change-Id: I94d4269981f87d6c226d7565257786658d68f992 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Set default stack size safety margin for VxWorksKarim Pinter2025-10-215-36/+58
| | | | | | | | | | | | | The default safety margin for VxWorks is 1/8 of the stack size, which is read from the OS. Also adds environment variable QV4_STACK_SOFT_LIMIT, to overwrite V4 stack safety margin. These can be used to finetune the application with limited resources, also on other OSes. Task-number: QTBUG-115777 Change-Id: I82b5b02e75fae3f5d1971504d16a3dc0f1d5f3fd Pick-to: 6.8 6.9 6.10 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Native Style: rework style and focus window initializationTim Blechmann2025-10-215-115/+154
| | | | | | | | | | | | | | | QStyle is destroyed with the app singleton, but not re-created when a new app is re-created. We change this to lazily initialize the style via application static in QQuickStyleItem::style(). Furthermore the focus window is not re-connected to the new application singleton, either. We lazily construct it and ensure that is cleaned up when the application singleton is destroyed. Pick-to: 6.10 Fixes: QTBUG-140220 Change-Id: I97281aaa91794a8a4e1c1fb3aa524dd54cf19709 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QQuickOverlay: translate touch events that circumvent the deliveryagentOliver Eftevaag2025-10-202-2/+4
| | | | | | | | | | | | | | | | The touch event's scene position is normally set in the delivery agent. However, since the overlay installs an event filter on the window itself, it will circumvent the delivery agent and thus never set the scene position properly. This patch ensures that the scene position gets set when we're entering overlayEvent from the event filter, for touch release events. Task-number: QTBUG-132914 Pick-to: 6.10 6.8 Change-Id: Id59ed9e5252ba594ce0e40039cb3a783032caef1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Software Adaptation: Disable partial updates when fractional scalingAndy Nichols2025-10-203-1/+40
| | | | | | | | | | | | | | | | | | | When using a scaling factor for the UI that is not an integer, the partial update mechanism in the software Adapation can break down and lead to many artifacts. Now we check if we're trying to render with factional scaling and disable partial updates. It's possible to opt-out of this by setting the environment variable: QSG_SOFTWARE_RENDERER_FORCE_PARTIAL_UPDATES=1 It is also possible to disable partial updates using the same variable QSG_SOFTWARE_RENDERER_FORCE_PARTIAL_UPDATES=0 Fixes: QTBUG-136943 Pick-to: 6.10 6.8 Change-Id: If4b0bc403a96ab037f213e89708371a49bc8ae02 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Compiler: Actually read the value of a key passed to qmltypesOlivier De Cannière2025-10-201-1/+1
| | | | | | | | | | | | | We always set isJavaScriptBuiltin to true if the key was present instead of actually reading the value. This seems to have worked because the key was only added when it was true and the default value is false. Amends 578946437fb31edd6aa78612e9db8fed9a3eb210 Pick-to: 6.10 6.8 Change-Id: I91f533129d233b251e221bf05abdc919eb8957c6 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmllint: Augment the import warning for unspecialized list propertiesOlivier De Cannière2025-10-201-2/+4
| | | | | | Pick-to: 6.10 6.8 Change-Id: Ifd33df7fc2cfeb86c5af9a9dc752518c52d5b91b Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QtQml: Augment the "is not a type" warning for unspecialized listsOlivier De Cannière2025-10-201-0/+7
| | | | | | Pick-to: 6.10 6.8 Change-Id: I3ed1a4719f64e1c4eae7013ce398d41ba25ecc5f Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QtQml: Fix coverity warningUlf Hermann2025-10-201-2/+3
| | | | | | | | | We don't need to store the scheme/host part of the origin in a temporary. The whole string can be constructed in one go. Coverity-Id: 896383 Change-Id: I1978ea26d3946c8f905f76d18192c5f1ced1e647 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QML generator: Avoid creating empty animationsEirik Aavitsland2025-10-171-1/+8
| | | | | | | | | | | | | | | | | When generating qml for an animated transform, we check for each property if the value actually changes, and if not, we generate just constant property assignment instead of an item to be animated. If it turns out that the whole transform is constant, we would still generate the animation block, but it would contain no actual value animations. This is both redundant, and would cause a warning message if the whole generated scene was paused ("setPaused() cannot be used when animation isn't running"). Fix by only generating the animation block if any of the transform property values is non-constant. Change-Id: Iec9c7b580ab6245c46d6de8693f8c83a170d5049 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* TextInput: don't clobber text cursor visible stateMorten Sørvig2025-10-171-2/+6
| | | | | | | | | | | | | | | | | User code connected to onTextChange may cause changes which affect the text cursor visibility state, for example by moving focus to a different item. Set set text cursor visibility state before updating the text in order to avoid overwriting state changes from user code. Fixes: QTBUG-131895 Pick-to: 6.10 6.9 6.8 Change-Id: I8e8ae7497b56067eb251e318c1fbff23c8e46332 Reviewed-by: Lorn Potter <lorn.potter@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Silence MSVC compiler warningMate Barany2025-10-171-1/+1
| | | | | | | | warning C4996: 'Qt::Desktop': This flag has been a no-op since Qt 6. Change-Id: Ieef90570300f55c4cb7a85284876059d40f05f70 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* VectorImage: Fix offset transformation of use nodesEskil Abrahamsen Blomfeldt2025-10-163-4/+10
| | | | | | | | | | | | | | | | | | | Instead of just using transform property itself for this, the <use> node in SVG has an additional offset property which is documented to be a "final offset transformation". We would previously apply this as the x and y coordinates of the item in the generated Qt Quick code, which works when there is no other transform on the item (or the only transform is another translation). But since the x and y is applied before the other transforms, if we scale, rotate, etc. the coordinate system, then we would get the wrong position. Pick-to: 6.10 Change-Id: I72b05439c06619231cfc5d4ba5a639e06d7aa184 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* a11y: Change role of QQuickPage to Pane from PageTabEven Oscar Andersen2025-10-161-1/+1
| | | | | | | | | PageTab is really like a button, or something you can click on to display the selected tab. It is not the contents of that tab. Change-Id: I4ddd87541512a3712d9ca65e7336c8d9018d1023 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>