diff options
author | Aylur <[email protected]> | 2024-09-21 21:07:40 +0000 |
---|---|---|
committer | Aylur <[email protected]> | 2024-09-21 21:07:40 +0000 |
commit | f3762b9cc8e20620a058b1c46c478a9270295455 (patch) | |
tree | 0abe7222b39e2f2268cb07eacf8338b5c1b7809f /core/src/widget/box.vala | |
parent | ad8d3409fec4d7d4fd728f364a139947ff1185e3 (diff) |
fix(box): children setter
do not call destroy on an already removed child
Diffstat (limited to 'core/src/widget/box.vala')
-rw-r--r-- | core/src/widget/box.vala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/src/widget/box.vala b/core/src/widget/box.vala index 0e069e0..0008fd4 100644 --- a/core/src/widget/box.vala +++ b/core/src/widget/box.vala @@ -42,10 +42,11 @@ public class Box : Gtk.Box { private void _set_children(List<weak Gtk.Widget> arr) { foreach(var child in get_children()) { - remove(child); - - if (!no_implicit_destroy && arr.find(child).length() == 0) + if (!no_implicit_destroy && arr.find(child).length() == 0) { child.destroy(); + } else { + remove(child); + } } foreach(var child in arr) |