wgui: fix possible panic
This commit is contained in:
@@ -84,7 +84,6 @@ struct Data {
|
|||||||
slider_handle_rect_id: WidgetID, // Rectangle
|
slider_handle_rect_id: WidgetID, // Rectangle
|
||||||
slider_text_id: Option<WidgetID>, // Text
|
slider_text_id: Option<WidgetID>, // Text
|
||||||
slider_handle_id: WidgetID,
|
slider_handle_id: WidgetID,
|
||||||
slider_handle_node_id: taffy::NodeId,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SliderValueChangedEvent {
|
pub struct SliderValueChangedEvent {
|
||||||
@@ -212,7 +211,14 @@ impl State {
|
|||||||
self.values.set_value(value);
|
self.values.set_value(value);
|
||||||
|
|
||||||
let changed = self.values.value != before;
|
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(
|
if !conf_handle_style(
|
||||||
common.alterables,
|
common.alterables,
|
||||||
&self.values,
|
&self.values,
|
||||||
@@ -440,10 +446,9 @@ pub fn construct(ess: &mut ConstructEssentials, params: Params) -> anyhow::Resul
|
|||||||
};
|
};
|
||||||
|
|
||||||
// invisible outer handle body
|
// invisible outer handle body
|
||||||
let (slider_handle, slider_handle_node_id) =
|
let (slider_handle, _) = ess
|
||||||
ess
|
.layout
|
||||||
.layout
|
.add_child(body_id, WidgetDiv::create(), slider_handle_style)?;
|
||||||
.add_child(body_id, WidgetDiv::create(), slider_handle_style)?;
|
|
||||||
|
|
||||||
let (slider_handle_rect, _) = ess.layout.add_child(
|
let (slider_handle_rect, _) = ess.layout.add_child(
|
||||||
slider_handle.id,
|
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,
|
slider_handle_rect_id: slider_handle_rect.id,
|
||||||
body_node: slider_body_node,
|
body_node: slider_body_node,
|
||||||
slider_handle_id: slider_handle.id,
|
slider_handle_id: slider_handle.id,
|
||||||
slider_handle_node_id,
|
|
||||||
slider_text_id: slider_text.map(|s| s.0.id),
|
slider_text_id: slider_text.map(|s| s.0.id),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user