summaryrefslogtreecommitdiff
path: root/sd/source/ui/annotations
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-10-01 21:09:48 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-10-01 21:12:41 +0100
commit86617760eb8bc6c0b2713b9496ade9203d1077a5 (patch)
tree6395777898257d0e7847c1c6ed4574fbf79733a3 /sd/source/ui/annotations
parentc0bcdde2a048b6e5465a14182947c09fcd170d45 (diff)
Engine() return mpOutliner, so can crash if Engine() used post delete
if Deactivate called during ::dispose Change-Id: I066dcc52278f12442de0281c8d783353aed5a186
Diffstat (limited to 'sd/source/ui/annotations')
-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 0d29d3d820ac..8e2c8657963a 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -287,6 +287,7 @@ void AnnotationWindow::dispose()
mpMeta.disposeAndClear();
delete mpOutlinerView;
delete mpOutliner;
+ mpOutliner = nullptr;
mpVScrollbar.disposeAndClear();
mpTextWindow.disposeAndClear();
FloatingWindow::dispose();
@@ -599,6 +600,9 @@ void AnnotationWindow::Deactivate()
if (mrManager.getPopupMenuActive())
return;
+ if (!mpOutliner) //in dispose
+ return;
+
Reference< XAnnotation > xAnnotation( mxAnnotation );
// write changed text back to annotation