fix(segmented-button): crash when context menu is unassigned

This commit is contained in:
Michael Aaron Murphy 2024-04-19 11:20:20 +02:00
parent 537486a4ab
commit c0b653f506
No known key found for this signature in database
GPG key ID: B2732D4240C9212C

View file

@ -883,23 +883,25 @@ where
}
// Present a context menu on a right click event.
if let Some(on_context) = self.on_context.as_ref() {
if right_button_released(&event)
|| (touch_lifted(&event) && fingers_pressed == 2)
{
state.show_context = Some(key);
state.context_cursor =
cursor_position.position().unwrap_or_default();
state.focused = true;
state.focused_item = Item::Tab(key);
if self.context_menu.is_some() {
if let Some(on_context) = self.on_context.as_ref() {
if right_button_released(&event)
|| (touch_lifted(&event) && fingers_pressed == 2)
{
state.show_context = Some(key);
state.context_cursor =
cursor_position.position().unwrap_or_default();
state.focused = true;
state.focused_item = Item::Tab(key);
let menu_state =
tree.children[0].state.downcast_mut::<MenuBarState>();
menu_state.open = true;
menu_state.view_cursor = cursor_position;
let menu_state =
tree.children[0].state.downcast_mut::<MenuBarState>();
menu_state.open = true;
menu_state.view_cursor = cursor_position;
shell.publish(on_context(key));
return event::Status::Captured;
shell.publish(on_context(key));
return event::Status::Captured;
}
}
}
}