summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-09-10 12:50:44 +0300
committerTor Lillqvist <tml@iki.fi>2012-09-10 12:56:25 +0300
commit7494e0a8d15386f4b962649e4286ddb05732355f (patch)
treebd415f42fecc33ad267f8ba58d44bd6e898c9911
parent6a59a378f6d492aad09ae254a024983eb9ee8060 (diff)
fdo#47368: Fix for infinite recursion
See bug for discussion. Change-Id: Id45dd2902bd2cb68618c3e7324867f226c025698 Signed-off-by: Tor Lillqvist <tml@iki.fi>
-rw-r--r--vcl/aqua/source/a11y/aqua11ywrapper.mm12
1 files changed, 3 insertions, 9 deletions
diff --git a/vcl/aqua/source/a11y/aqua11ywrapper.mm b/vcl/aqua/source/a11y/aqua11ywrapper.mm
index 146828869627..9f4e55e408a0 100644
--- a/vcl/aqua/source/a11y/aqua11ywrapper.mm
+++ b/vcl/aqua/source/a11y/aqua11ywrapper.mm
@@ -979,15 +979,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