Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
6.3
-
e88318802d9b1a9d23b50c515dad5e756ea98317
Description
The way we treat bindings is just wrong.
- QQmlJSMetaPropertyBinding must really be a union of different things. This should be done this way at least for the sake of data separation (it might be hard to do it nicely, so let's leave it as is for now)
- QQmlJSScope::ownPropertyBinding() must be plural and return an equal_range from QMultiHash: we can have multiple bindings on the same property. Exactly one binding is a corner case, do not make it the default case
- QQmlJSMetaPropertyBinding must really not be copied:
- we can leave copy semantics for the sake of simplicity
- the point is to never construct a new binding from an existing one, this leads (at present) to weird side effects (e.g. a binding has both an interceptor and a value source set). [1] partially addresses this
[1]: https://codereview.qt-project.org/c/qt/qtdeclarative/+/381555
Attachments
For Gerrit Dashboard: QTBUG-98407 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
381555,10 | Improve QQmlJSMetaPropertyBinding usage | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |