summaryrefslogtreecommitdiffstats
path: root/lazy
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-01 03:37:28 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-01 03:37:28 +0200
commit9330a83775991539e2d0b395b1422072b4baec21 (patch)
tree4bc721990c9b6a3ef139e25577201d4be1ebcc92 /lazy
parent799a7e501d9733cf08cbb38d17267fcbafc5d272 (diff)
downloadiced-9330a83775991539e2d0b395b1422072b4baec21.tar.gz
iced-9330a83775991539e2d0b395b1422072b4baec21.tar.bz2
iced-9330a83775991539e2d0b395b1422072b4baec21.zip
Fix `Widget::tag` implementation of `pure::Canvas`
Using `P::State` can cause a panic if the `Canvas` has `()` as `P::State` and replaces a stateless widget in a future `view` call.
Diffstat (limited to 'lazy')
-rw-r--r--lazy/src/pure/component.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/lazy/src/pure/component.rs b/lazy/src/pure/component.rs
index b6e10054..8de40e8c 100644
--- a/lazy/src/pure/component.rs
+++ b/lazy/src/pure/component.rs
@@ -70,8 +70,6 @@ where
})
}
-struct Tag<T>(T);
-
struct Instance<'a, Message, Renderer, Event, S> {
state: RefCell<Option<State<'a, Message, Renderer, Event, S>>>,
}
@@ -132,6 +130,7 @@ where
Renderer: iced_native::Renderer,
{
fn tag(&self) -> tree::Tag {
+ struct Tag<T>(T);
tree::Tag::of::<Tag<S>>()
}