diff options
| author | Mitch Curtis <mitch.curtis@qt.io> | 2024-10-23 13:25:48 +0800 |
|---|---|---|
| committer | Mitch Curtis <mitch.curtis@qt.io> | 2024-10-25 09:10:45 +0800 |
| commit | 66008a31db41391aefe9436d1f5d15870457839b (patch) | |
| tree | f68eaf359198db7120993e876f573d0967dccdbc /src/quicktemplates/qquickdeferredexecute.cpp | |
| parent | 18a6a658aaf25fa8c380daef8a72dee4c1661164 (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.cpp | 25 |
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) |
