fix(segmented_button): crash when enumerating context menu buttons

This commit is contained in:
Michael Aaron Murphy 2026-07-13 20:06:45 +02:00 • committed by Ashley Wulber
parent c53b43d41b
commit 96a82045d7

View file

@ -970,11 +970,12 @@ where
let Some((mut bounds, i)) = self
.variant_bounds(state, layout.bounds())
.enumerate()
.find_map(|(i, item)| match item {
ItemBounds::Button(e, bounds) if e == entity => Some((bounds, i)),
.filter_map(|item| match item {
ItemBounds::Button(entity, bounds) => Some((bounds, entity)),
_ => None,
})
.enumerate()
.find_map(|(i, (bounds, e))| if e == entity { Some((bounds, i)) } else { None })
else {
return;
};
@ -2529,11 +2530,12 @@ where
let (mut bounds, i) = self
.variant_bounds(state, layout.bounds())
.enumerate()
.find_map(|(i, item)| match item {
ItemBounds::Button(e, bounds) if e == entity => Some((bounds, i)),
.filter_map(|item| match item {
ItemBounds::Button(entity, bounds) => Some((bounds, entity)),
_ => None,
})?;
})
.enumerate()
.find_map(|(i, (bounds, e))| if e == entity { Some((bounds, i)) } else { None })?;
assert!(
self.context_menu