summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-10-01 21:09:48 +0100
committerjan iversen <jani@documentfoundation.org>2016-10-04 15:35:09 +0000
commit0570ddd7377c825e6cff7e71d07452223d230b6b (patch)
tree473cbe4c622f3458dcb4922419c7c6560769143d
parent0d60b0dc1208b01b659fd1af4b33d1a7f6ee737d (diff)
Engine() return mpOutliner, so can crash if Engine() used post delete
if Deactivate called during ::dispose (cherry picked from commit 86617760eb8bc6c0b2713b9496ade9203d1077a5) Change-Id: I066dcc52278f12442de0281c8d783353aed5a186 Reviewed-on: https://gerrit.libreoffice.org/29444 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: jan iversen <jani@documentfoundation.org> Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r--sd/source/ui/annotations/annotationwindow.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index dcbeb2262a75..1b2fd3808872 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -298,6 +298,7 @@ void AnnotationWindow::dispose()
mpMeta.disposeAndClear();
delete mpOutlinerView;
delete mpOutliner;
+ mpOutliner = nullptr;
mpVScrollbar.disposeAndClear();
mpTextWindow.disposeAndClear();
FloatingWindow::dispose();
@@ -613,6 +614,9 @@ void AnnotationWindow::SetColor()
void AnnotationWindow::Deactivate()
{
+ if (!mpOutliner) //in dispose
+ return;
+
Reference< XAnnotation > xAnnotation( mxAnnotation );
// write changed text back to annotation