Blob Blame History Raw
From fcd101173cd3436f17a57dbe116f2ed35219a1e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 11 Dec 2013 11:57:34 +0000
Subject: [PATCH 064/109] disposed but not dtored

just die when you are supposed to, without this endless amounts of accessiblity
cells remain after sorting slides with tables in them

(cherry picked from commit 1c28065d8fe3e9a1394a7ecfc29e95a9639a1012)

Conflicts:
	svx/source/table/accessibletableshape.cxx

Change-Id: Ice9a86b8b806e58f9bf871341a38f7729798dda9
(cherry picked from commit a90e08cb15e712e1d15a16de9a2677e57d81fd13)
Reviewed-on: https://gerrit.libreoffice.org/7052
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
---
 svx/source/table/accessibletableshape.cxx | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/svx/source/table/accessibletableshape.cxx b/svx/source/table/accessibletableshape.cxx
index a5e910e..8872591 100644
--- a/svx/source/table/accessibletableshape.cxx
+++ b/svx/source/table/accessibletableshape.cxx
@@ -113,6 +113,12 @@ void AccessibleTableShapeImpl::dispose()
 {
     if( mxTable.is() )
     {
+        //remove all the cell's acc object in table's dispose.
+        for( AccessibleCellMap::iterator iter( maChildMap.begin() ); iter != maChildMap.end(); iter++ )
+        {
+            (*iter).second->dispose();
+        }
+        maChildMap.clear();
         Reference< XModifyListener > xListener( this );
         mxTable->removeModifyListener( xListener );
         mxTable.clear();
-- 
1.8.4.2