diff --git a/vcl/aqua/source/a11y/aqua11ywrapper.mm b/vcl/aqua/source/a11y/aqua11ywrapper.mm index 86bc720..1c0aed3 100644 --- a/vcl/aqua/source/a11y/aqua11ywrapper.mm +++ b/vcl/aqua/source/a11y/aqua11ywrapper.mm @@ -970,16 +970,9 @@ Reference < XAccessibleContext > hitTestRunner ( com::sun::star::awt::Point poin com::sun::star::awt::Point location = rxAccessibleComponent -> getLocationOnScreen(); com::sun::star::awt::Point hitPoint ( point.X - location.X , point.Y - location.Y); Reference < XAccessible > rxAccessible = rxAccessibleComponent -> getAccessibleAtPoint ( hitPoint ); - if ( rxAccessible.is() && rxAccessible -> getAccessibleContext().is() ) { - if ( rxAccessible -> getAccessibleContext() -> getAccessibleChildCount() > 0 ) { - hitChild = hitTestRunner ( point, rxAccessible -> getAccessibleContext() ); - if ( ! hitChild.is() ) { - hitChild = rxAccessible -> getAccessibleContext(); - } - } else { - hitChild = rxAccessible -> getAccessibleContext(); - } - } + if ( rxAccessible.is() && rxAccessible -> getAccessibleContext().is() && + rxAccessible -> getAccessibleContext() -> getAccessibleChildCount() == 0 ) + hitChild = rxAccessible -> getAccessibleContext(); } if ( !hitChild.is() && rxAccessibleContext -> getAccessibleChildCount() > 0 ) { // special treatment for e.g. comboboxes for ( int i = 0; i < rxAccessibleContext -> getAccessibleChildCount(); i++ ) {