diff options
Diffstat (limited to 'lazy/src/cached.rs')
-rw-r--r-- | lazy/src/cached.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lazy/src/cached.rs b/lazy/src/cached.rs index 184ec9e7..a2a519c0 100644 --- a/lazy/src/cached.rs +++ b/lazy/src/cached.rs @@ -97,12 +97,14 @@ where let element = (self.view)().into(); current.element = Rc::new(RefCell::new(element)); - } - (*self.element.borrow_mut()) = Some(current.element.clone()); - tree.diff_children(std::slice::from_ref( - &self.element.borrow().as_ref().unwrap().borrow().as_widget(), - )); + (*self.element.borrow_mut()) = Some(current.element.clone()); + tree.diff_children(std::slice::from_ref( + &self.element.borrow().as_ref().unwrap().borrow().as_widget(), + )); + } else { + (*self.element.borrow_mut()) = Some(current.element.clone()); + } } fn width(&self) -> Length { |