From c58ffe158982d38583d73f36b3bc559da9a5287e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Aug 2021 10:44:45 +0200 Subject: [PATCH] Better panic message when we reference a property that does not exist --- sixtyfps_runtime/interpreter/dynamic_component.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sixtyfps_runtime/interpreter/dynamic_component.rs b/sixtyfps_runtime/interpreter/dynamic_component.rs index 49d138536..3a3139b14 100644 --- a/sixtyfps_runtime/interpreter/dynamic_component.rs +++ b/sixtyfps_runtime/interpreter/dynamic_component.rs @@ -1252,11 +1252,14 @@ pub(crate) fn get_property_ptr(nr: &NamedReference, instance: InstanceRef) -> *c .items .get(element.id.as_str()) .unwrap_or_else(|| panic!("Unknown element for {}.{}", element.id, nr.name())); + let prop_info = item_info + .rtti + .properties + .get(nr.name()) + .unwrap_or_else(|| panic!("Property {} not in {}", nr.name(), element.id)); core::mem::drop(element); let item = unsafe { item_info.item_from_component(enclosing_component.as_ptr()) }; - unsafe { - item.as_ptr().add(item_info.rtti.properties.get(nr.name()).unwrap().offset()).cast() - } + unsafe { item.as_ptr().add(prop_info.offset()).cast() } } eval::ComponentInstance::GlobalComponent(glob) => glob.as_ref().get_property_ptr(nr.name()), }