mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 22:31:14 +00:00
![]() For the following reduced test-case the order in how the dynamic nodes in the item tree were generated (and dyn indices assigned) differed from the way the visit_dynamic_children slots were generated: ``` Blah := Rectangle { for x in 1: Text { text: "Should be on the right"; } } MainWindow := Window { width: 772px; height: 504px; Text { if (false): TouchArea { } } Blah { x: 200px; } } ``` The item tree node was constructed using build_item_tree, which basically assigned dyn index 0 to the "repater" for the touch area and "1" to the one for the repeater inside the sub-component. Afterwards we traversed the element tree - without descending into the sub-components - to generate the fields and the dispatch in in the dynamic visitor. Here a subtle order would result in a mismatch of indices: recurse_elem_level_order would end up visiting Text, Blah and then Text's children, assigning the first dynamic index to Blah. This is now fixed by merging the two iterations into one. |
||
---|---|---|
.. | ||
bindings | ||
callbacks | ||
children | ||
conditional | ||
crashes | ||
elements | ||
examples | ||
expr | ||
focus | ||
globals | ||
imports | ||
input | ||
layout | ||
lookup | ||
models | ||
properties | ||
subcomponents | ||
text | ||
types | ||
7gui | ||
debug.60 | ||
image_geometry.60 | ||
simple.60 | ||
states.60 |