aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Doc: explain popup property propagationMitch Curtis2023-08-283-0/+103
| | | | | | | | | | | | It's not obvious that parent popups do not propagate properties to their children, but is intended. Task-number: QTBUG-115322 Task-number: QTBUG-115554 Change-Id: I21b99ee6ea0f2f62bfd4a82e57bd653e823e59d0 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit e4ba076e43f3f35388dfc634c0baf1ed7d2c70de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix child popup palette inheritanceMitch Curtis2023-08-283-10/+89
| | | | | | | | | | | | | | | | | | | Qt Quick Controls Popups are always top-level popups, even if declared as a child of another popup. Therefore, e.g. a font set on a parent popup should not propagate to a child popup. The same behavior applies to palettes, but we regressed with this in 1875ad7f92cad270cc5857d71096a4b46c27c562 and/or 31f5c21ddb571d744efd1885c0687816b3a12225. This patch fixes the regression by returning the window's palette in QQuickPaletteProviderPrivateBase<I, Impl>::parentPalette() if I is a QQuickPopup. Fixes: QTBUG-115707 Change-Id: Ib89852787dd45e3edc9e846b6c182340c052f0fd Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 950cd5888e3098bc4c04fc0af4beabe265c78a6e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Dialogs: fix statically-built applications not runningMitch Curtis2023-08-282-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When attemping to run a statically-built Qt Quick app that uses QtQuick.Dialogs, users would get an error: qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/qml/MessageDialog.qml: module "QtQuick.Dialogs.quickimpl" plugin "qtquickdialogs2quickimplplugin" not found This patch fixes these errors by listing QtQuick.Dialogs.quickimpl as a dependency through the qt_internal_add_qml_module command. This does introduce an unconditional tooling (e.g. qmlimportscanner) dependency on the non-native Qt Quick fallback plugin for all users, regardless of whether they are using a statically-built Qt or not. However, this should be fine, and the decision of whether or not to use the fallback is made at runtime anyway, so it may not be possible to conditionally add the dependency at CMake configure time. Fixes: QTBUG-105745 Change-Id: If2e4c4346963e645bd8e5e9cc210c7b38c8616c0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 0d3a137254d92644d0193fbdaf996e5e1f88ec9b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-08-281-5/+5
| | | | | Change-Id: Ibe573d1ba2a488e3e169ae4565a564b4cc3f1f8f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QQuickTableViewResizeHandler: Silence warning about switch fall throughFriedemann Kleint2023-08-261-1/+1
| | | | | | | | | Amends 8733b01ce3e8eadbbe62b9e9a264d4ce699a6be8. Change-Id: I2571c9b741e731a7937d3ddc25aef7eb3155557d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit abb9cde13d6d0f503a8a6aad12f4361cd3848c79) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove undocumented HDR mode getter/setter from QQuickGr.ConfLaszlo Agocs2023-08-264-64/+1
| | | | | | | | | | | | | | | | | | | | | | | | Added in 6.6 as \internal but concluded that it is too limited in this form. Added originally for consistency, so that at least QSG_RHI_HDR=auto (where said "auto" mode is also new in 6.6) has a C++ equivalent, as is the custom with QSG_* and QQuickGraphicsConfiguration, but it is becoming clear that an "auto" option makes no sense in practice. A better and more holistic long-term plan is to handle this in the Gui layer (e.g. QSurfaceFormat) eventually. In the meantime, the env.var. (QSG_RHI_HDR) continues to function like before with explicit format keys ("scrgb", "hdr10"). Change-Id: Iea667d7e46ffafa33fdff342d4ed749bdb1cfd4b Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit 5ec73a8f4af9838ce13e4e72e8fb253d4c7f26aa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Curve renderer: reduce size of external trianglesPaul Olav Tvete2023-08-255-72/+90
| | | | | | | | | | | | | | Use the same trick for fill as we already do for stroke: calculate the space needed for antialiasing in the vertex shader. Convex curves need special magic to avoid artifacts from the negative part of the parabola. Task-number: QTBUG-104122 Task-number: QTBUG-116143 Change-Id: I76803f544b3bb257a3454745a60be7adc9a45efe Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 5546f41b0c7ba10fc45a0b4aebe00400bbe5da44) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-08-251-5/+5
| | | | | Change-Id: Ifa2e5697a3118f5be42fd710bf9d31aa51ef3093 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Point out that STATIC QML plugins require direct linkingAlexey Edelev2023-08-241-1/+5
| | | | | | | | | | | | | In qt_add_qml_module documentation we never mention targets using the STATIC QML plugins need to link to corresponding QML plugins. Add couple words in addition to the Q_IMPORT_QML_PLUGIN note. Task-number: QTBUG-114688 Change-Id: I2e484250ea9d06dc8824aea23a7c4c106f01884f Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 42b0cb7cca252a9b3ad64f951fd366e1d0b29ad0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-08-241-5/+5
| | | | | Change-Id: I0d6d03c20d331b7c4730db86d97f31785503292a Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Remove "is" prefix from isTimestampsEnabledLaszlo Agocs2023-08-235-6/+6
| | | | | | | | | | Drop the bad looking "is" prefix. "are" is not used in practice, so rather follow the existing pattern of e.g. QWidget::updatesEnabled(). Change-Id: I07c47ec45ce9190c1d445235b7cfe6be98716c7a Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit 51c73b9df60c738c933d7c727062c5ba6da09c7e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* examples: include filesystemexplorer only if Svg is availableSamuli Piippo2023-08-231-1/+3
| | | | | | | | | | Svg is required for the filesystemexplorer example, but it might not be available. Change-Id: I0a68c8cabc8c0809a6ed20596fd7fcc9eec5ab7e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 6bab3e5c76f9322a8183746fa8836c85d882d931) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QML Permissions: Use correct version tagging macroFabian Kosmale2023-08-231-6/+6
| | | | | | | | | | | QML_ADDED_IN_MINOR_VERSION results in wrong qmltypes entries, "(max version).6" instead of "6.6" Fixes: QTBUG-116390 Change-Id: I6ed83cabaeae24bea9078b929ff0204ba635764b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 4fcadf6a36aca48c5cfb0cc717c30211f5be0ba8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add CurveRenderer item into shape antialiasing exampleKaj Grönholm2023-08-232-1/+51
| | | | | | | | | | | CurveRenderer has built-in antialiasing supports, so compare it here to MSAA and SSAA. Task-number: QTBUG-104122 Change-Id: I207ab770cae052b195e9da8802dc594a91ce713b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit eb6af63f6105d207458dc38ee42b6ecb5fc641cd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: link to best practices from Interacting with QML Objects from C++Mitch Curtis2023-08-231-1/+2
| | | | | | | | | | There's already a warning in that section, but we can also link to the best practices page. Change-Id: I31fcab885e7b95bac907605a038408c3019d297a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit ca83d345a58314eb7bf15afd982685d17ec3f37d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix attachedstyleproperties example installationMitch Curtis2023-08-231-2/+5
| | | | | | | | | | | | Make sure that libMyStyle.so, libMyStyleplugin.so, and the qmldir are installed. Fixes: QTBUG-114482 Change-Id: I19b182f9957cc138171f0cb69eb25a42b7bf9b37 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 842bb590be63be44f4761fdcd45f1c84e731fa3b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Filesystem Explorer Example: Introduce version 2Dennis Oberst2023-08-2322-434/+882
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This updated version addresses several bugs and misbehaviors that were identified in the previous version. I have rewritten and improved various aspects of the application to provide a more stable and reliable user experience. Here are some of the key changes and enhancements in version 2: - Fix qmllint warnings. - Reduce the number of redundant items - Apply the custom window decorations inside MyMenuBar to the contentItem instead of the background to scale properly. - Fix additional scaling and UI misbehaviors - Add an application icon - Add an editor with line numbers - Add command line options to specify an initial directory - Since rootIndex is exposed inside TreeView since 6.6 this is an excellent opportunity to make use of it - Crosslink the python version of this example in the docs Change-Id: Ib816a95f843b3f4b84b11db893facda0ffc6f482 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 959f88e4b5371edff0b344e5f768c70aa5202402) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QSGD3D12Texture::fromNative - fix the \since version in the docsIvan Solovev2023-08-231-1/+1
| | | | | | | | | | | | The struct and the static method were introduced in Qt 6.6, so fix the docs accordingly. This commit amends 8721df3dae5c78e5406a01308c033baf9b9d6844. Change-Id: Iae43e90f98ba25a7971e5b7f55cb097088094281 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 4ae033fae3802c5b65e3adb1d8fdde652c1af1eb) Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Doc: Add example categories to Particles examplesInkamari Harjula2023-08-234-0/+4
| | | | | | | | | | Add the example categories of Particles examples. Task-number: QTBUG-116265 Change-Id: Ie773c51c8a862c3cba74b22a68078d68eb14b42d Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> (cherry picked from commit 0ebd825d1077f51ad6cc5c15913e265aadb0550c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Reset context object when destroying it from QObjectWrapperUlf Hermann2023-08-223-0/+35
| | | | | | | | | | | | There may be other objects that still hold on to the context data. We should not leave them with a dangling context obejct. Fixes: QTBUG-116228 Change-Id: I3dddd20b13956408d0e66c3a46e59377e45d91e5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 1d3385e9887e912a79835c7defc878edf4ab7ec5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Use sensible argument in `\printto` commandPaul Wicking2023-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The "Scene Graph - Vulkan Under QML" example includes snippets of code from the example source file(s) using a combination of the `\skipto` and `\printto` QDoc commands. The former skips content until the line that contains the argument passed to the command (here, "class VulkanSquircle"). The latter prints lines up to, but not including, the line that contains the argument passed to the command (here, "public"). I suspect the author's intention was for QDoc to output lines from the start of the class declaration until the public access specifier in the member specification of the class. However, the first instance of `public` QDoc encounters is the base-specifier of the derived class, which is on the same line as the argument to the `\skipto` command. Hence, there's nothing for QDoc to output. Modifying the argument to include the colon that indicates the keyword is for member-declarations ensures QDoc generates output as expected. Fixes: QTBUG-116304 Change-Id: Ibfc17fbacd10f902fc2a5f57873fe0990571535e Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io> (cherry picked from commit 9e3b681460b3d61ff5bc9e35e437a849ff94e221) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QV4::QObjectWrapper: Use the object's actual meta typeKai Uwe Broulik2023-08-224-4/+71
| | | | | | | | | | | | | | | | | | | | Otherwise, a derived type's methods will not be found. In our particular case we tried to call a method of 'B*' on a QML attached property declared as 'A*'. This restores the previous behavior of using the object() for the meta type except for when it's a value type wrapper. Amends commit 63b622d5908ec2960ce5dfa301e9d3fd4d92fdb4. Change-Id: I08b9f4b97a58c15fdc3703dd3c5d927cd1beb3ce Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 139d45c062ce6061b96f7ffe206babde4b596a98) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlBind: handle top-level attached propertiesFabian Kosmale2023-08-225-25/+121
| | | | | | | | | | | | | | | While top-level attached properties are formally deferred in QQmlBind, QQmlBind is not really interested in them. Top-level attached properties cannot be generalized grouped properties, after all. Therefore, populate the attached objects the usual way when encountering them. Fixes: QTBUG-116049 Change-Id: I18e8759ea52fd91fadf80b2cc69b5054f7cea23a Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> (cherry picked from commit 603fb28d1d1500752782d5d138c262fccb50f0f9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Add the Svg package to OPTIONAL_COMPONENTSDennis Oberst2023-08-222-1/+3
| | | | | | | | | | | | | | | It is an optional dependency of the module and some examples and tests depend on it. Since this patch enables the Svg package on the CI, a previously unexecuted test has begun failing on the Android platform. This seems to be a known issue, thus add this particular test case to the BLACKLIST file. Change-Id: I46e00308a81189c80c7d788920908a884d05663d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 4f9687927da504c344a6e1805fe32f0b2d650d8e)
* Use Q_DECL_UNUSED_MEMBER for unused private class membersIvan Solovev2023-08-222-9/+3
| | | | | | | | | | | | | | | Unlike plain [[maybe_unused]], this macro does not generate new warnings, so we do not need the QT_WARNING_{PUSH,POP} magic. This commit replaces 32b49e1a3889f825a88b18b00eca045d5758f12a. Found during Qt 6.6 API review, but picking down to 6.5, as the original change was picked to 6.5 as well. Change-Id: I0355eb1266338aefeb0e800bb41eda5c67461295 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 5cdd7fa66203808e3adcf48386fa0aea0d525889) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Create implicit components in inline components earlyUlf Hermann2023-08-223-24/+88
| | | | | | | | | | | | | | When the resolve() method is called on an inline component root we can resolve implicit components inside that element right away. If we wait for the inline component root to show up again in an outer element, there are a number of code paths that may miss it. Fixes: QTBUG-98859 Change-Id: I5a37422332fc2cde6b9b2f7ca9ad73ac3bbd4ff2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit ec25258346102484257a708be3b604aec6ea951f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Explain how DEPENDENCIES helps with type resolutionUlf Hermann2023-08-221-0/+8
| | | | | | | | | | Fixes: QTBUG-110821 Change-Id: I506c7781d1b6b4d4c3b741e779702d184d442faf Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 5789ae5da56b4f17fd126154f8a55bc7fcd936d8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: List QtQml value types separate from QtQuick value typesUlf Hermann2023-08-222-4/+5
| | | | | | | | | | | You don't need to import QtQuick for rect, size, and point. Task-number: QTBUG-110821 Change-Id: I1f998a5f5b07b7f373e5c0ce3f7aff3b9983ccd7 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> (cherry picked from commit 85987e81c89d6c03f5c9b9f5648db34af21414e1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-08-221-5/+5
| | | | | Change-Id: If9c88381bf3b88fd9c43f5b383132d859440263a Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Exclude some examples from Android buildElias Hautala2023-08-224-3/+17
| | | | | | | | | | | | Exclude advanced1-Base-project, advanced2-Inheritance-and-coercion and advanced3-Default-properties, because of missing Qui and Quick dependencies. Task-number: QTBUG-111933 Change-Id: Ia472807f9eda3bd6248ff7515d1ca13bc0bde6cf Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit a7d32469d4cf452b8d1daae8a962a48ebc06a0f9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlDMAbstractItemModelData: Guard against deletion during model writeKai Uwe Broulik2023-08-213-0/+103
| | | | | | | | | | | | | | | | When a `setData` call on a model results in our row being removed (e.g. when a proxy model filters out the row as a result of this change), an Instantiator would delete us and we'd try to emit a property change on garbage `this`. Amends commit 5db77fb406bb36a27de1ad2e3390720411c833f9which made Instantiator clean up its objects on a model change. Change-Id: I5570453de588e32dc5e4235287a83565e5185aa2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 8c852c70c9cd415f852239395101c8b9884d5688) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QML: remove pthread_attr_init() from stackPropertiesGeneric()Thiago Macieira2023-08-211-1/+0
| | | | | | | | | | | | | | | | | | The docs for pthread_getattr_np() say: "The pthread_getattr_np() function initializes the thread attributes object referred to by attr" The comment in the glibc pthreads.h implementation even says: /* Initialize thread attribute *ATTR with attributes corresponding to the already running thread TH. It shall be called on uninitialized ATTR and destroyed with pthread_attr_destroy when no longer needed. */ Change-Id: I964c2b1e6b834feb9710fffd177c32dbb898fa3c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 9f4aeeabb982cfc4306c9d350dbb68f64914fb32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Correctly resolve aliases to aliases when loading .qmlc filesUlf Hermann2023-08-215-20/+88
| | | | | | | | | | | | | | We need to loop the objects until all property caches are resolved. We cannot assume the property caches to be complete right away. Amends commit 2d7fe23b41aa3fd719b7bc8aa585ab799e4a0c39. Fixes: QTBUG-116148 Change-Id: I407675cd1ebf8067d1b387542b4ecca8100d9b34 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 487bd23ee8aa7e06f411da796294ef497fc5bd9c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QV4::QObjectWrapper: Remove superfluous loopKai Uwe Broulik2023-08-191-7/+5
| | | | | | | | | This caused all overloads to be printed in exponential amounts. Change-Id: I619b5402e9d9f164c4372c30ba28655818b81014 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f956eada99ea9926a917f24a1afb03382406d346) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Further Qt Quick Shapes curve renderer improvementsPaul Olav Tvete2023-08-1821-1491/+1620
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add AA offset for strokes in the vertex shader * Add a normal vector to the vertex data, so we know the direction to move each point. Move the HG calculation for solving the cubic to the vertex shader (done by Matthias). * Also split up the curve elements for path stroking, to create tighter fitting triangles. (This does reveal some cases where the triangulation algorithm fails, which were previously masked by the 2x safety margin) * Also improve the triangulation by using the inner bisector when possible, leading to significantly less overdraw. As part of this, customTriangulator2() got a major refactor. It now has separate logic for inside and outside points. Remove debug color from vertex attributes * We make this a uniform instead, like in the stroke node, and calculate the debug color from the curvature data. With this path, we no longer show internal triangles as green, but otherwise it should be correct. Also improved documentation and various code cleanups and refactoring Done-with: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Done-with: Eirik Aavitsland <eirik.aavitsland@qt.io> Task-number: QTBUG-104122 Change-Id: Ib2817177eaaf4a0b1196cae77a28fca39349db9c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit ec6c05f4ce5763ae85c1e9f7fb50c4f593709cc9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlSA::PropertyPass: Clarify documentationFabian Kosmale2023-08-161-4/+4
| | | | | | | | | | onWrite has no idea which _value_ is written; the only thing it knows is the type of it. Change-Id: I7ef4a245253dff5e1218a1705cf90d6fc17e8584 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 481d882c1a47f116304626ce7f49fa0a75180928) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativev6.6.0-beta3Qt Submodule Update Bot2023-08-161-5/+5
| | | | | Change-Id: Ic1dc1828db622c8352959ddad172c6637fead989 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Improve Material style documentationMitch Curtis2023-08-161-18/+41
| | | | | | | | | | | - Clarify which properties do and do not propagate to children. - Tidy up code snippet. Task-number: QTBUG-115287 Change-Id: Ia3768505e993aea01f88b4c45aa625683de1c45a Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 1bab963f8b940009de140e7995a68a4afe92f3b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QmlCompiler: Fix console loggingUlf Hermann2023-08-153-5/+19
| | | | | | | | | | | | | | Store a copy of the UTF-8 data for file and function so that we don't run into heap-use-after-free. Set the instruction pointer before calling the log function so that we get a correct line number. Fixes: QTBUG-114655 Change-Id: I38249fe52719ddad620033716ff22b2087ab8382 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f6735dba9518ffc896541f212fade350e18c91de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Docs: Update documentation about orientation mode in the gallery exampleSanthosh Kumar2023-08-151-8/+9
| | | | | | | | | | | | | | | The gallery example depends on two factor to determine its orientation. Apart from size of the window, the orientation configuration in the setting (introduced in the patchset 7c7e3a1fdfa0a9cd766182836328ae5f179569ae) would also be considered. This patchset updates documentation for the change mentioned above. Change-Id: Iaf46c5cc49350e889121b3e57dc3f86e46609459 Reviewed-by: Juho Lääkkö <juho.laakko@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit afb57dfa06fb7e8be47ac1118758421cfe31ba3e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix disambiguation of file-selected components and scriptsUlf Hermann2023-08-1518-76/+206
| | | | | | | | | | | | | | | In order to choose the right file-selected components and scripts when resolving types we need to drop all but the "base" ones from the qmldir. This has to be done right after parsing the qmldir, but only at run time. At compile time we need the extra information to determine that we cannot compile any access to such files to C++. Fixes: QTBUG-113940 Change-Id: I734b865202b6241d5dd60c134214bdbe09ea10f4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 269afdcb7cab15a7430487b630b1b4af468d2015) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* TreeViewDelegate: don't use deprecated APIRichard Moe Gustavsen2023-08-155-15/+15
| | | | | | | | | | | | | | | | | | TableView.modelIndex(column, row) was deprecated in Qt 6.4 (291d3ed0da) in favor of TableView.index(row, column). But the TreeViewDelegates are still using the deprecated API for the edit delegates (added in Qt 6.5, 21bf976a41), which will cause warning messages to be printed. This patch will rewrite the offending lines in the TreeViewDelegates to use TableView.index(row, column) instead. Task-number: QTBUG-109542 Change-Id: I41c0c18934493611663b759c8eb3b4fed2510cc6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 218b908b6a9aa542866821b65044bc839472a397) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Quick: Private-export QQuickTextLineUlf Hermann2023-08-151-1/+1
| | | | | | | | | | | ... so that qmlsc's direct mode can use it. Fixes: QTBUG-115510 Change-Id: Ifea689a877ebbab7b9361d377a96e8b31e24bfbf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 3cfdac28ca7fb65e10e20c632b240d7c07671d41) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QJSEngine::evaluate: Cross-reference QQmlExpressionFabian Kosmale2023-08-151-0/+5
| | | | | | | | | | QJSEngine::evaluate is meant for plain JavaScript; guide readers wanting to use it with QML to the correct place. Change-Id: If8016a4cca2999d95bac47e83159b1e10eb5a0d5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit fead337daa3e339676b05f0f152864455752dfb3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* particles: Remove unused checked-in .qsb filesLaszlo Agocs2023-08-1512-0/+0
| | | | | | | | | Start from 6.5 we use qt_add_shaders. Change-Id: Idf582081ae324cfce1c595ecf6ca69ddf38ad6cf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit e4d6a4447e52501dd7748c910d0558d067cc4c08) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlDelegateModelPrivate:object: release objects only with objectRef >0Axel Spoerl2023-08-153-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If a cache item has an object and there are no pending incubation tasks, it returns the object. Otherwise, it releases the object, before deleting the cache item, if it is unreferenced. If the cache item's object has a zero objectRef, because it is still under construction, the method attempts to release it. Releasing an object with a zero objectRef triggers an assertion in QQmlDelegateModelItem::releaseObject(). The cacheItem's object is referenced in qqmldelegatemodel.cpp:1234, which increases the objectRef from 0 to 1. It is set to 0 again, if the cacheItem has a delegate, which gets incubated in qqmldelegatemodel.cpp:1281. This case is not reflected later, and the cacheItem's object is unconditionally released. This patch makes the release attempt conditional to a positive objectRef. It adds an autotest in tst_QQmlDelegateModel. Fixes: QTBUG-104469 Change-Id: I5c0751ca7f796a9701889520c526f719a27a200b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e9f631b09265f575575038f6979443143e2121c0)
* Do not link against ShaderToolsKai Köhne2023-08-151-1/+0
| | | | | | | | | | | | | | | The linking that got introduced in commits be813b9955, 69225ac60bf is unnecessary, and breaks the build of examples on Android, if Qt6::ShaderTools is not available in the installation. Fixes: QTBUG-115948 Fixes: QTBUG-115949 Change-Id: I3ca451dfd03ee9b8e871129c191110b56bb38800 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> (cherry picked from commit c7c2b56d04925aedfdf50018b297a6aef3caa879) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-08-151-5/+5
| | | | | Change-Id: Ib12bc444248d98a43aec33393836f118ff326353 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Improve Qt Quick Shapes curve renderer strokesEskil Abrahamsen Blomfeldt2023-08-1425-1321/+2216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a specialized stroke shader which replaces the curve flattening triangulating stroker as the default. The triangulating stroker is still available via an environment variable for testing. Dashed strokes are now done by cutting the path into segments ahead of time and applying the normal solid stroking algorithm to the corresponding path. In addition, the fill shader no longer depends on the derivatives extension except when used in 3D scenes to support perspective transforms. The preprocessing of the shape has also gotten a few bug fixes and improvements and there are extremely few artifacts left. Done-with: Paul Olav Tvete <paul.tvete@qt.io> Done-with: Eirik Aavitsland <eirik.aavitsland@qt.io> Done-with: Matthias Rauter <matthias.rauter@qt.io> Task-number: QTBUG-104122 Change-Id: Ib49b41019956be3e3cd509d1f3cef6842658aceb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> (cherry picked from commit 73324c379f8c638106203d679549e7785d16af38) Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Material: make Switch respect Dense variantMitch Curtis2023-08-144-6/+42
| | | | | | | | | | | This patch makes the Material 3 Switch more compact when the Dense variant is in use, bringing it in line with other controls like Button. Fixes: QTBUG-116028 Change-Id: I8df7a5d00688965066ea40eee8d6a9a918d2265f Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit a3c577d07d5064eb811e9121284193fe4819ae32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>