From ea39c41fdf63191579d25f327db81db14862251c Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Wed, 4 Jul 2018 09:45:45 +0200 Subject: 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 Tested-by: Jenkins Reviewed-by: Armin Le Grand --- svx/source/table/cell.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'svx/source/table') 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 ) -- cgit