Fix confusing error message

This commit is contained in:
Conrad Irwin 2023-11-07 12:00:05 -07:00
parent 3a72f2122a
commit b804b25c21
2 changed files with 8 additions and 4 deletions

View File

@ -134,7 +134,10 @@ where
.layout(state, frame_state.as_mut().unwrap(), cx);
}
}
_ => panic!("must call initialize before layout"),
ElementRenderPhase::Start => panic!("must call initialize before layout"),
ElementRenderPhase::LayoutRequested { .. } | ElementRenderPhase::Painted => {
panic!("element rendered twice")
}
};
self.phase = ElementRenderPhase::LayoutRequested {

View File

@ -397,9 +397,10 @@ pub trait ElementInteraction<V: 'static>: 'static {
None
}),
));
let result = stateful.stateless.initialize(cx, f);
stateful.key_listeners.pop();
result
cx.with_key_dispatch_context(stateful.dispatch_context.clone(), |cx| {
cx.with_key_listeners(mem::take(&mut stateful.key_listeners), f)
})
})
} else {
let stateless = self.as_stateless_mut();