aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates/qquickdeferredexecute.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2024-10-23 13:25:48 +0800
committerMitch Curtis <mitch.curtis@qt.io>2024-10-25 09:10:45 +0800
commit66008a31db41391aefe9436d1f5d15870457839b (patch)
treef68eaf359198db7120993e876f573d0967dccdbc /src/quicktemplates/qquickdeferredexecute.cpp
parent18a6a658aaf25fa8c380daef8a72dee4c1661164 (diff)
Doc: add more internal documentation for deferred execution
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>
Diffstat (limited to 'src/quicktemplates/qquickdeferredexecute.cpp')
-rw-r--r--src/quicktemplates/qquickdeferredexecute.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/quicktemplates/qquickdeferredexecute.cpp b/src/quicktemplates/qquickdeferredexecute.cpp
index 19870a5636..90eeae991d 100644
--- a/src/quicktemplates/qquickdeferredexecute.cpp
+++ b/src/quicktemplates/qquickdeferredexecute.cpp
@@ -13,6 +13,31 @@
QT_BEGIN_NAMESPACE
+/*!
+ \internal
+
+ For the history behind why these functions were introduced, see
+ the comments of QTBUG-50992, specifically
+ \l {https://bugreports.qt.io/browse/QTBUG-50992?focusedId=325677&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-325677}{this}.
+
+ The first commit to the QML engine to support deferred properties seems to
+ be 59b8d719d6122d86a4cc650911788cc4d778ce29.
+
+ The first commit to add support for it in Controls was
+ 458eb65f730178bc93ba7b18f0e4dd2a13efad2e.
+
+ In short, deferred execution solved two issues:
+
+ \list 1
+ \li Incubation issues when using asynchronous loaders, AKA QTBUG-50992.
+ \li Performance issues from creating two items unnecessarily when a
+ styled control was customized, which is explained in more detail
+ in the commit message of 458eb65f730178bc93ba7b18f0e4dd2a13efad2e.
+ \endlist
+
+ \sa qmlExecuteDeferred
+*/
+
namespace QtQuickPrivate {
static void cancelDeferred(QQmlData *ddata, int propertyIndex)