Skip to content

Commit 7d8c55e

Browse files
authored
fix: Compute index in parent for tree roots on Unix (#718)
1 parent 01f24bd commit 7d8c55e

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

platforms/atspi-common/src/node.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -847,9 +847,17 @@ impl PlatformNode {
847847
}
848848

849849
pub fn index_in_parent(&self) -> Result<i32> {
850-
self.resolve(|node| {
851-
i32::try_from(node.preceding_filtered_siblings(&filter).count())
852-
.map_err(|_| Error::IndexOutOfRange)
850+
self.resolve_with_context(|node, _tree, context| {
851+
if node.filtered_parent(&filter).is_some() {
852+
i32::try_from(node.preceding_filtered_siblings(&filter).count())
853+
.map_err(|_| Error::IndexOutOfRange)
854+
} else {
855+
let index = context
856+
.read_app_context()
857+
.adapter_index(self.adapter_id)
858+
.map_err(|_| Error::Defunct)?;
859+
i32::try_from(index).map_err(|_| Error::IndexOutOfRange)
860+
}
853861
})
854862
}
855863

0 commit comments

Comments
 (0)