aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates/qquickdeferredexecute.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Set explicit default security level of all files with default securityJan Arve Sæther2025-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The files (folders) already processed are listed in each issue in epic QTBUG-134547 These files were processed half a year ago. In order to make it clear that all of these files are already processed, mark them with an explicit default security header. For the record, this was generated with this script: find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py in the folders listed in each subtask of QTBUG-134547 (add-cra-header.py only exist at my desktop, but it simply adds the default security header if it doesn't already have any existing security header) QUIP: 23 Fixes: QTBUG-134547 Pick-to: 6.10 6.9 6.8 Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* ContextMenu: defer creation of Menu until it's shownMitch Curtis2025-02-031-5/+10
| | | | | | | | | | This enables adding a Cut/Copy/Paste context menu to our text editing controls without a Menu being created at startup for each control. Fixes: QTBUG-132265 Pick-to: 6.9 Change-Id: I2fbbce457208cfeb0df8f043746615b7c52f65e0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Move inlineComponentName from CU to ObjectCreatorFabian Kosmale2024-12-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A (base) compilation unit should ideally be immutable, as we otherwise open a can of worms when it comes to cross-thread usage of CUs. However, so far, we've been using a mutable inlineComponentName member of the compilation unit to select whether the root component of a CU should be constructed, or one of its inline components. This patch change prepares for making the CU immutable, by moving the inline component name tracking into the ObjectCreator itself, requiring that the name gets passed into its constructor – or that an empty string gets passed in case of the main component. The resulting refactoring makes it apparent that deferred properties did not handle inline components at all. Support for them gets added by also storing the inline component name inside of DeferredData, and passing it along when needed. A test case which verifies that deferred properties are now fixed is added as a follow-up commit. Besides the core engine, we also need to adjust qmltc which also generates code to handle deferred properties. Consequently, we also need to pass the inline component name along in the qmltc generated code. Task-number: QTBUG-131442 Pick-to: 6.5 6.8 Change-Id: Ide9bc98223c01225b954662b3f4989bbbfda7672 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: add more internal documentation for deferred executionMitch Curtis2024-10-251-0/+25
| | | | | | | | | | This gives background information and a brief summary of why deferred execution exists. Pick-to: 6.5 6.8 Change-Id: I991d9ffd175d781d286f855404b767d652fa6c84 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Assert on ddata and ddata->propertyCache in doPopulateDeferred()Ulf Hermann2024-03-181-0/+3
| | | | | | | | | | | The caller has to guarantee that the ddata and property cache ar alive at that point. Therefore, make sure that qmlExecuteDeferred() and QtQuickPrivate::beginDeferred() actually guarantee as much. Coverity-Id: 437884 Change-Id: I89bfa5ca47347416d0acd023d073d524363a0635 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Deferred properties: avoid spurious binding loopFabian Kosmale2023-01-061-0/+18
| | | | | | | | | | | | | | | | | | During binding evaluation, it might happen that we do an initial read of a deferred property. If that deferred property is in turn an object property, further binding evaluations might occur. Those bindings should not depend on whatever trigerred the initial binding evaluation. However, with the new C++ properties/bindings, that would happen, as the bindingStatus would still indicate that binding evaluation is active. To remedy this, we temporarily suspend the binding status ind begin and completeDeferred. Pick-to: 6.5 6.4 6.2 Fixes: QTBUG-96351 Change-Id: I7e9778aa5339f044ce3082e962a2ede34b5d1e69 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove "2" from Qt Quick Controls directoriesMitch Curtis2022-12-011-0/+120
Qt Quick Controls 2 was named that way because it was a follow-up to Qt Quick Controls 1.x. Now that Qt Quick Controls 1 is no longer supported, we don't need to have "2" in the name. Work on this was already started for the documentation in 1abdfe5d5a052f2298b7bf657513dfa7e0c66a56. By doing this renaming a few weeks before feature freeze, it won't affect the release but still results in as little time possible spent manually fixing conflicts in cherry-picks from non-LTS releases as a result of the renaming. This patch does the following: - Renames directories. - Adapts CMakeLists.txt and other files to account for the new paths. A follow-up patch will handle documentation. It does not touch library names or other user-facing stuff, as that will have to be done in Qt 7. Task-number: QTBUG-95413 Change-Id: I170d8db19033ee71e495ff0c5c1a517a41ed7634 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>