summaryrefslogtreecommitdiff
path: root/sw/inc/accmap.hxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-06-30 16:56:00 +0100
committerMichael Stahl <mstahl@redhat.com>2016-07-05 14:37:26 +0000
commit04081b6907132c867041dd492408b5349f26cd42 (patch)
tree6010ac84297670b0dbc3234ca46953933296a258 /sw/inc/accmap.hxx
parentdd7a2c95b86d158be8d0637bdff13b9a0ed9954b (diff)
a11y crash on deleting certain frame in certain document
I've an internal RH document which crashes in a11y when a paragraph with a graphic and a drawing frame in it is deleted. The SdrObject is removed and deleted, but when SwAccessibleContext::DisposeChild is called the object does not pass IsShowing so its not removed from the accessibility map. Leaving an entry in the map pointing to a deleted SdrObject So here take the route-one approach of always removing from the map accessibility children which depend on a SdrObject which is getting deleted, whether or not it is inside the visible area at the moment. The real change here is to SwAccessibleContext::DisposeChild and to SwFrame::RemoveDrawObj Change-Id: I764cd54d6216d233756f52b5be66c80737b5e38d Reviewed-on: https://gerrit.libreoffice.org/26824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'sw/inc/accmap.hxx')
-rw-r--r--sw/inc/accmap.hxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/sw/inc/accmap.hxx b/sw/inc/accmap.hxx
index 7c1f2299b805..25c96967e6dd 100644
--- a/sw/inc/accmap.hxx
+++ b/sw/inc/accmap.hxx
@@ -185,7 +185,8 @@ public:
void A11yDispose( const SwFrame* pFrame,
const SdrObject* pObj,
vcl::Window* pWindow,
- bool bRecursive = false );
+ bool bRecursive = false,
+ bool bCanSkipInvisible = true );
void InvalidatePosOrSize( const SwFrame* pFrame,
const SdrObject* pObj,