diff options
author | 2022-07-01 03:37:28 +0200 | |
---|---|---|
committer | 2022-07-01 03:37:28 +0200 | |
commit | 9330a83775991539e2d0b395b1422072b4baec21 (patch) | |
tree | 4bc721990c9b6a3ef139e25577201d4be1ebcc92 /graphics/src | |
parent | 799a7e501d9733cf08cbb38d17267fcbafc5d272 (diff) | |
download | iced-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 'graphics/src')
-rw-r--r-- | graphics/src/widget/pure/canvas.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/graphics/src/widget/pure/canvas.rs b/graphics/src/widget/pure/canvas.rs index 2e3e7ede..b51d5853 100644 --- a/graphics/src/widget/pure/canvas.rs +++ b/graphics/src/widget/pure/canvas.rs @@ -109,7 +109,8 @@ where B: Backend, { fn tag(&self) -> tree::Tag { - tree::Tag::of::<P::State>() + struct Tag<T>(T); + tree::Tag::of::<Tag<P::State>>() } fn state(&self) -> tree::State { |