summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-10-24 13:48:42 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-10-24 13:48:42 +0200
commit089e629f4103bbd248c5f80441774d6ce98680fe (patch)
treef9a3266f3507c993c00e9cc60233d934dca851fe
parent659669dd5810d470d51f528495cab2f676eb58ed (diff)
downloadiced-089e629f4103bbd248c5f80441774d6ce98680fe.tar.gz
iced-089e629f4103bbd248c5f80441774d6ce98680fe.tar.bz2
iced-089e629f4103bbd248c5f80441774d6ce98680fe.zip
Fix `responsive` diffing when `Tree` is emptied by ancestors
-rw-r--r--widget/src/lazy/responsive.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/widget/src/lazy/responsive.rs b/widget/src/lazy/responsive.rs
index a7a99f56..a6c40ab0 100644
--- a/widget/src/lazy/responsive.rs
+++ b/widget/src/lazy/responsive.rs
@@ -83,7 +83,10 @@ where
new_size: Size,
view: &dyn Fn(Size) -> Element<'a, Message, Theme, Renderer>,
) {
- if self.size == new_size {
+ let is_tree_empty =
+ tree.tag == tree::Tag::stateless() && tree.children.is_empty();
+
+ if !is_tree_empty && self.size == new_size {
return;
}