Blob Blame History Raw
From fd87193917a26437ffd6ce08a33bb22e7b7353fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 4 May 2021 21:04:40 +0100
Subject: [PATCH] rhbz#1956977 crash on switch from active comment to slide
 sorter

Change-Id: I2b5a5cb8b0631971b775a70d96f2cbf0c118c090
---
 sd/source/ui/annotations/annotationmanager.cxx | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx
index 155862469313..898eb201d78e 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -947,10 +947,13 @@ IMPL_LINK_NOARG(AnnotationManagerImpl, UpdateTagsHdl, void*, void)
 
 void AnnotationManagerImpl::CreateTags()
 {
-
     if( !(mxCurrentPage.is() && mpDoc) )
         return;
 
+    auto xViewShell = mrBase.GetMainViewShell();
+    if (!xViewShell)
+        return;
+
     try
     {
         int nIndex = 1;
@@ -963,7 +966,7 @@ void AnnotationManagerImpl::CreateTags()
         {
             Reference< XAnnotation > xAnnotation( xEnum->nextElement() );
             Color aColor( GetColorLight( mpDoc->GetAnnotationAuthorIndex( xAnnotation->getAuthor() ) ) );
-            rtl::Reference< AnnotationTag > xTag( new AnnotationTag( *this, *mrBase.GetMainViewShell()->GetView(), xAnnotation, aColor, nIndex++, maFont ) );
+            rtl::Reference< AnnotationTag > xTag( new AnnotationTag( *this, *xViewShell->GetView(), xAnnotation, aColor, nIndex++, maFont ) );
             maTagVector.push_back(xTag);
 
             if( xAnnotation == mxSelectedAnnotation )
-- 
2.31.1