Fix active pane modifiers applying to parent pane axis if child pane is active (#25836)

Closes #25304

Release Notes:

- Fixed an issue where `active_pane_modifiers` settings would be applied
to a parent pane if one of it's child panes was active
This commit is contained in:
Ben Kunkle 2025-02-28 17:47:15 -06:00 committed by GitHub
parent 7fb16977ce
commit ec88a6886f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -214,13 +214,6 @@ impl Member {
Member::Axis(PaneAxis::new(axis, members))
}
fn contains(&self, needle: &Entity<Pane>) -> bool {
match self {
Member::Axis(axis) => axis.members.iter().any(|member| member.contains(needle)),
Member::Pane(pane) => pane == needle,
}
}
fn first_pane(&self) -> Entity<Pane> {
match self {
Member::Axis(axis) => axis.members[0].first_pane(),
@ -702,7 +695,7 @@ impl PaneAxis {
cx.entity().downgrade(),
)
.children(self.members.iter().enumerate().map(|(ix, member)| {
if member.contains(active_pane) {
if matches!(member, Member::Pane(pane) if pane == active_pane) {
active_pane_ix = Some(ix);
}
member