diff options
-rw-r--r-- | vcl/osx/a11ywrapper.mm | 2 | ||||
-rw-r--r-- | vcl/unx/gtk/gtksalframe.cxx | 7 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkframe.cxx | 7 |
3 files changed, 15 insertions, 1 deletions
diff --git a/vcl/osx/a11ywrapper.mm b/vcl/osx/a11ywrapper.mm index 485212a72ded..e24b83e5e2c0 100644 --- a/vcl/osx/a11ywrapper.mm +++ b/vcl/osx/a11ywrapper.mm @@ -995,7 +995,7 @@ static Reference < XAccessibleContext > hitTestRunner ( css::awt::Point point, bool bSafeToIterate = true; sal_Int32 nCount = rxAccessibleContext -> getAccessibleChildCount(); - if ( nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */ ) + if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */) bSafeToIterate = false; else { // manages descendants is an horror from the a11y standards guys. Reference< XAccessibleStateSet > xStateSet; diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index 899f1a1a291f..a4e6e0fdcd2d 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -3660,6 +3660,13 @@ static uno::Reference<accessibility::XAccessibleEditableText> } } + bool bSafeToIterate = true; + sal_Int32 nCount = xContext->getAccessibleChildCount(); + if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */) + bSafeToIterate = false; + if (!bSafeToIterate) + return uno::Reference< accessibility::XAccessibleEditableText >(); + for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i) { uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i); diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index d2d38b58f23c..091f4d2d3b3f 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -4214,6 +4214,13 @@ static uno::Reference<accessibility::XAccessibleEditableText> } } + bool bSafeToIterate = true; + sal_Int32 nCount = xContext->getAccessibleChildCount(); + if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */) + bSafeToIterate = false; + if (!bSafeToIterate) + return uno::Reference< accessibility::XAccessibleEditableText >(); + for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i) { uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i); |