wgui: fix possible panic

This commit is contained in:
Aleksander
2026-01-11 14:59:26 +01:00
parent 84d4fb7cc2
commit a0451408aa

View File

@@ -84,7 +84,6 @@ struct Data {
slider_handle_rect_id: WidgetID, // Rectangle
slider_text_id: Option<WidgetID>, // Text
slider_handle_id: WidgetID,
slider_handle_node_id: taffy::NodeId,
}
pub struct SliderValueChangedEvent {
@@ -212,7 +211,14 @@ impl State {
self.values.set_value(value);
let changed = self.values.value != before;
let style = common.state.tree.style(data.slider_handle_node_id).unwrap();
let Some(slider_handle_node_id) = common.state.nodes.get(data.slider_handle_id) else {
return;
};
let Ok(style) = common.state.tree.style(*slider_handle_node_id) else {
return;
};
if !conf_handle_style(
common.alterables,
&self.values,
@@ -440,10 +446,9 @@ pub fn construct(ess: &mut ConstructEssentials, params: Params) -> anyhow::Resul
};
// invisible outer handle body
let (slider_handle, slider_handle_node_id) =
ess
.layout
.add_child(body_id, WidgetDiv::create(), slider_handle_style)?;
let (slider_handle, _) = ess
.layout
.add_child(body_id, WidgetDiv::create(), slider_handle_style)?;
let (slider_handle_rect, _) = ess.layout.add_child(
slider_handle.id,
@@ -499,7 +504,6 @@ pub fn construct(ess: &mut ConstructEssentials, params: Params) -> anyhow::Resul
slider_handle_rect_id: slider_handle_rect.id,
body_node: slider_body_node,
slider_handle_id: slider_handle.id,
slider_handle_node_id,
slider_text_id: slider_text.map(|s| s.0.id),
});