Skip to content

Commit 24b415d

Browse files
committed
fix: restrict axmenu
1 parent 2071f33 commit 24b415d

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

src/ax_element.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ use accessibility::{AXAttribute, AXUIElement, AXUIElementAttributes};
66
use accessibility_sys::{
77
AXUIElementCopyMultipleAttributeValues, AXValueCreate, AXValueGetValue, AXValueRef,
88
kAXButtonRole, kAXCellRole, kAXCheckBoxRole, kAXComboBoxRole, kAXContentListSubrole,
9-
kAXErrorSuccess, kAXGroupRole, kAXHiddenAttribute, kAXImageRole, kAXListRole, kAXMenuItemRole,
10-
kAXMenuRole, kAXPopUpButtonRole, kAXPositionAttribute, kAXPressAction, kAXRoleAttribute,
11-
kAXRowRole, kAXScrollAreaRole, kAXScrollBarRole, kAXSelectedTextRangeAttribute,
12-
kAXSizeAttribute, kAXStaticTextRole, kAXTextAreaRole, kAXTextFieldRole, kAXTitleAttribute,
13-
kAXValueTypeCFRange, kAXValueTypeCGPoint, kAXValueTypeCGSize, kAXWindowRole,
9+
kAXErrorSuccess, kAXGroupRole, kAXHiddenAttribute, kAXImageRole, kAXListRole,
10+
kAXMenuButtonRole, kAXMenuItemRole, kAXMenuRole, kAXPopUpButtonRole, kAXPositionAttribute,
11+
kAXPressAction, kAXRoleAttribute, kAXRowRole, kAXScrollAreaRole, kAXScrollBarRole,
12+
kAXSelectedTextRangeAttribute, kAXSizeAttribute, kAXStaticTextRole, kAXTextAreaRole,
13+
kAXTextFieldRole, kAXTitleAttribute, kAXValueTypeCFRange, kAXValueTypeCGPoint,
14+
kAXValueTypeCGSize, kAXWindowRole,
1415
};
1516
use core_foundation::{
1617
array::{CFArray, CFArrayRef},
@@ -1049,7 +1050,12 @@ fn traverse_elements(
10491050
}
10501051
_ => (),
10511052
},
1052-
kAXMenuRole => {
1053+
kAXMenuRole
1054+
if element
1055+
.parent()
1056+
.and_then(|p| p.role())
1057+
.is_ok_and(|r| r == kAXMenuButtonRole) =>
1058+
{
10531059
let _ = result_tx.send(ElementSignal::ClearOnPopUp);
10541060
finish_early = true;
10551061
}

0 commit comments

Comments
 (0)