@@ -59,6 +59,7 @@ pub(crate) struct VdomInnerExclusive {
59 change_list: ManuallyDrop<ChangeList>,
59 change_list: ManuallyDrop<ChangeList>,
60 container: crate::Element,
60 container: crate::Element,
61 events_registry: Option<Rc<RefCell<EventsRegistry>>>,
61 events_registry: Option<Rc<RefCell<EventsRegistry>>>,
62+ events_trampoline: Option<crate::EventsTrampoline>,
62 cached_set: crate::RefCell<CachedSet>,
63 cached_set: crate::RefCell<CachedSet>,
64 // Actually a reference into `self.dom_buffers[0]` or if `self.component` is
65 // Actually a reference into `self.dom_buffers[0]` or if `self.component` is
@@ -92,6 +93,7 @@ impl fmt::Debug for VdomInnerExclusive {
92 .field("change_list", &self.change_list)
93 .field("change_list", &self.change_list)
93 .field("container", &self.container)
94 .field("container", &self.container)
94 .field("events_registry", &self.events_registry)
95 .field("events_registry", &self.events_registry)
96+ .field("events_trampoline", &"..")
95 .field("current_root", &self.current_root)
97 .field("current_root", &self.current_root)
@@ -179,6 +181,7 @@ impl Vdom {
179 container,
181 container,
180 current_root,
182 current_root,
181 events_registry: None,
183 events_registry: None,
184+ events_trampoline: None,
182 cached_set: crate::RefCell::new(Default::default()),
185 cached_set: crate::RefCell::new(Default::default()),
@@ -188,7 +191,9 @@ impl Vdom {
189 let mut inner = inner.exclusive.borrow_mut();
192 let mut inner = inner.exclusive.borrow_mut();
190 inner.events_registry = Some(events_registry);
193 inner.events_registry = Some(events_registry);
191− inner.change_list.init_events_trampoline(events_trampoline);
194+ inner.change_list.init_events_trampoline(&events_trampoline);
195+ debug_assert!(inner.events_trampoline.is_none());
196+ inner.events_trampoline = Some(events_trampoline);
193 // Diff and apply the `contents` against our dummy `<div/>`.
198 // Diff and apply the `contents` against our dummy `<div/>`.
194 inner.render();
199 inner.render();