summaryrefslogtreecommitdiff
path: root/svx/source/table
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2018-07-04 09:45:45 +0200
committerArmin Le Grand <Armin.Le.Grand@cib.de>2018-07-04 12:16:11 +0200
commitea39c41fdf63191579d25f327db81db14862251c (patch)
tree2fc1e7db92198521e0a892c3b314f1e7e7e2fac8 /svx/source/table
parent1413cd01ae4a7962902c03d56838bdb5cd299be7 (diff)
tdf#118199 avoid double dispose actions
Cell::dispose may be (and gets in this case) called multiple times. Do not double-cleanup stuff. Change-Id: Icb907968e8211eb4ba0bbb1c4d060eb8be9a874a Reviewed-on: https://gerrit.libreoffice.org/56924 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Diffstat (limited to 'svx/source/table')
-rw-r--r--svx/source/table/cell.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx
index 2e2f5fad140f..27549aaa4101 100644
--- a/svx/source/table/cell.cxx
+++ b/svx/source/table/cell.cxx
@@ -440,8 +440,13 @@ void Cell::dispose()
mxTable.clear();
}
- mpProperties.reset();
- SetOutlinerParaObject( nullptr );
+ // tdf#118199 avoid double dispose, detect by using mpProperties
+ // as indicator. Only use SetOutlinerParaObject once
+ if( mpProperties )
+ {
+ mpProperties.reset();
+ SetOutlinerParaObject( nullptr );
+ }
}
void Cell::merge( sal_Int32 nColumnSpan, sal_Int32 nRowSpan )