diff --git a/packages/ludic.ui/node.ludic b/packages/ludic.ui/node.ludic index 6bbae5c0..30c56546 100644 --- a/packages/ludic.ui/node.ludic +++ b/packages/ludic.ui/node.ludic @@ -55,7 +55,7 @@ export property UiNode { z: int = 0 nowrap: bool = false # white-space: nowrap ellipsis: bool = false # text-overflow: ellipsis - lines: []string = null # a wrapped text's lines + lines: []string = null # a wrapped text's lines: the memo's (ly_wrap), not the node's none: Val = Value.null() # what ui_attr answers for an attribute it lacks: made with the node, read only var_names: []string = null # its custom properties (--name), which its descendants inherit var_vals: []string = null diff --git a/packages/ludic.ui/pool_reset_more.ludic b/packages/ludic.ui/pool_reset_more.ludic index 2d94469c..d42a7501 100644 --- a/packages/ludic.ui/pool_reset_more.ludic +++ b/packages/ludic.ui/pool_reset_more.ludic @@ -2,7 +2,7 @@ function nd_reset_b(n: UiNode) -> void { n.nowrap = false n.ellipsis = false - if n.lines != null { List.clear(n.lines) } + n.lines = null # the memo's list (ly_wrap), shared by every node with that text: never cleared if n.var_names != null { List.clear(n.var_names) } if n.var_vals != null { List.clear(n.var_vals) } n.fg = -1 diff --git a/tools/ui-preview/smoke.txt b/tools/ui-preview/smoke.txt index 972d912c..42a940e6 100644 --- a/tools/ui-preview/smoke.txt +++ b/tools/ui-preview/smoke.txt @@ -142,6 +142,32 @@ < 0 0 1 1 #ffffff 1 <= ok +# wrapped text stays drawn: a pooled node's reset once emptied the memo's shared lines, so a text +# that wraps vanished from the third frame on (two generations a screen) +> load "Wrap" "
Seesaibling aus dem Nordbecken