|
|
6974b80 |
From 08755c7f3c285576ba29fe8dd875b18d0792de39 Mon Sep 17 00:00:00 2001
|
|
|
6974b80 |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
|
6974b80 |
Date: Tue, 4 Dec 2018 13:01:14 +0000
|
|
|
6974b80 |
Subject: [PATCH] tdf#121855 like osx case don't search near-infinite calc grid
|
|
|
6974b80 |
for focus
|
|
|
6974b80 |
MIME-Version: 1.0
|
|
|
6974b80 |
Content-Type: text/plain; charset=UTF-8
|
|
|
6974b80 |
Content-Transfer-Encoding: 8bit
|
|
|
6974b80 |
|
|
|
6974b80 |
Change-Id: Ie6bccd2781fbbdc5f4d5dc2eb6903191aafe8265
|
|
|
6974b80 |
Reviewed-on: https://gerrit.libreoffice.org/64520
|
|
|
6974b80 |
Tested-by: Jenkins
|
|
|
6974b80 |
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
|
6974b80 |
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
|
6974b80 |
(cherry picked from commit cd0c794a6cfaf9c008682596d2cdae6aa57c8bbf)
|
|
|
6974b80 |
---
|
|
|
6974b80 |
vcl/osx/a11ywrapper.mm | 2 +-
|
|
|
6974b80 |
vcl/unx/gtk/gtksalframe.cxx | 7 +++++++
|
|
|
6974b80 |
vcl/unx/gtk3/gtk3gtkframe.cxx | 7 +++++++
|
|
|
6974b80 |
3 files changed, 15 insertions(+), 1 deletion(-)
|
|
|
6974b80 |
|
|
|
6974b80 |
diff --git a/vcl/osx/a11ywrapper.mm b/vcl/osx/a11ywrapper.mm
|
|
|
6974b80 |
index 67e155e81e53..b35a1d22745d 100644
|
|
|
6974b80 |
--- a/vcl/osx/a11ywrapper.mm
|
|
|
6974b80 |
+++ b/vcl/osx/a11ywrapper.mm
|
|
|
6974b80 |
@@ -992,7 +992,7 @@ Reference < XAccessibleContext > hitTestRunner ( css::awt::Point point,
|
|
|
6974b80 |
bool bSafeToIterate = true;
|
|
|
6974b80 |
sal_Int32 nCount = rxAccessibleContext -> getAccessibleChildCount();
|
|
|
6974b80 |
|
|
|
6974b80 |
- if ( nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */ )
|
|
|
6974b80 |
+ if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
|
|
|
6974b80 |
bSafeToIterate = false;
|
|
|
6974b80 |
else { // manages descendants is an horror from the a11y standards guys.
|
|
|
6974b80 |
Reference< XAccessibleStateSet > xStateSet;
|
|
|
6974b80 |
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
|
|
|
6974b80 |
index 16e716b16daa..56cb33520443 100644
|
|
|
6974b80 |
--- a/vcl/unx/gtk/gtksalframe.cxx
|
|
|
6974b80 |
+++ b/vcl/unx/gtk/gtksalframe.cxx
|
|
|
6974b80 |
@@ -3666,6 +3666,13 @@ uno::Reference<accessibility::XAccessibleEditableText>
|
|
|
6974b80 |
}
|
|
|
6974b80 |
}
|
|
|
6974b80 |
|
|
|
6974b80 |
+ bool bSafeToIterate = true;
|
|
|
6974b80 |
+ sal_Int32 nCount = xContext->getAccessibleChildCount();
|
|
|
6974b80 |
+ if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
|
|
|
6974b80 |
+ bSafeToIterate = false;
|
|
|
6974b80 |
+ if (!bSafeToIterate)
|
|
|
6974b80 |
+ return uno::Reference< accessibility::XAccessibleEditableText >();
|
|
|
6974b80 |
+
|
|
|
6974b80 |
for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i)
|
|
|
6974b80 |
{
|
|
|
6974b80 |
uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i);
|
|
|
6974b80 |
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
|
|
6974b80 |
index 71ab50efc813..95e616473608 100644
|
|
|
6974b80 |
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
|
|
|
6974b80 |
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
|
|
6974b80 |
@@ -4213,6 +4213,13 @@ uno::Reference<accessibility::XAccessibleEditableText>
|
|
|
6974b80 |
}
|
|
|
6974b80 |
}
|
|
|
6974b80 |
|
|
|
6974b80 |
+ bool bSafeToIterate = true;
|
|
|
6974b80 |
+ sal_Int32 nCount = xContext->getAccessibleChildCount();
|
|
|
6974b80 |
+ if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
|
|
|
6974b80 |
+ bSafeToIterate = false;
|
|
|
6974b80 |
+ if (!bSafeToIterate)
|
|
|
6974b80 |
+ return uno::Reference< accessibility::XAccessibleEditableText >();
|
|
|
6974b80 |
+
|
|
|
6974b80 |
for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i)
|
|
|
6974b80 |
{
|
|
|
6974b80 |
uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i);
|
|
|
6974b80 |
--
|
|
|
6974b80 |
2.19.2
|
|
|
6974b80 |
|