Call initialize on the rendered element on AnyView

Antonio Scandurra created

Change summary

crates/gpui2/src/view.rs | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Detailed changes

crates/gpui2/src/view.rs 🔗

@@ -316,9 +316,12 @@ impl<V: Render> From<View<V>> for AnyView {
             initialize: |view, cx| {
                 cx.with_element_id(view.model.entity_id, |_, cx| {
                     let view = view.clone().downcast::<V>().unwrap();
-                    Box::new(AnyElement::new(
-                        view.update(cx, |view, cx| Render::render(view, cx)),
-                    ))
+                    let element = view.update(cx, |view, cx| {
+                        let mut element = AnyElement::new(view.render(cx));
+                        element.initialize(view, cx);
+                        element
+                    });
+                    Box::new(element)
                 })
             },
             layout: |view, element, cx| {