sd/source/ui/view/ViewShellBase.cxx |   45 ++++++++++++++++++++++++------------
 1 file changed, 30 insertions(+), 15 deletions(-)

New commits:
commit 1fe53fce9a0776d935fabbdf86b2c03d23da0e72
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Jun 3 09:18:46 2016 +0100

    Resolves: tdf#100199 crash: switch to Display Mode - Master Modes - Notes
    
    via toolbar
    
    (cherry picked from commit 9cf0ac710a6ace0a833fa193c7e18c4a7405bc42)
    (cherry picked from commit 05560f10b4652f97949f44b9377c2e2355c21602)
    
    Change-Id: I0ad3cce6d96cede8033a05e35c934c3163d214e3
    Reviewed-on: https://gerrit.libreoffice.org/25855
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Katarina Behrens <katarina.behr...@cib.de>

diff --git a/sd/source/ui/view/ViewShellBase.cxx 
b/sd/source/ui/view/ViewShellBase.cxx
index 90e8820..887db26 100644
--- a/sd/source/ui/view/ViewShellBase.cxx
+++ b/sd/source/ui/view/ViewShellBase.cxx
@@ -1255,15 +1255,21 @@ void ViewShellBase::Implementation::GetSlotState 
(SfxItemSet& rSet)
                         break;
 
                     case SID_NORMAL_MULTI_PANE_GUI:
-                        pFrameView = mrBase.GetMainViewShell()->GetFrameView();
-                        bState = pFrameView->GetViewShEditMode() == EM_PAGE
-                            && pFrameView->GetPageKind() == PK_STANDARD;
+                        if (ViewShell* pViewShell = 
mrBase.GetMainViewShell().get())
+                        {
+                            pFrameView = pViewShell->GetFrameView();
+                            bState = pFrameView->GetViewShEditMode() == EM_PAGE
+                                && pFrameView->GetPageKind() == PK_STANDARD;
+                        }
                         break;
 
                     case SID_SLIDE_MASTER_MODE:
-                        pFrameView = mrBase.GetMainViewShell()->GetFrameView();
-                        bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
-                            && pFrameView->GetPageKind() == PK_STANDARD;
+                        if (ViewShell* pViewShell = 
mrBase.GetMainViewShell().get())
+                        {
+                            pFrameView = pViewShell->GetFrameView();
+                            bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
+                                && pFrameView->GetPageKind() == PK_STANDARD;
+                        }
                         break;
 
                     case SID_SLIDE_SORTER_MULTI_PANE_GUI:
@@ -1284,21 +1290,30 @@ void ViewShellBase::Implementation::GetSlotState 
(SfxItemSet& rSet)
                         break;
 
                     case SID_HANDOUT_MASTER_MODE:
-                        pFrameView = mrBase.GetMainViewShell()->GetFrameView();
-                        bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
-                            && pFrameView->GetPageKind() == PK_HANDOUT;
+                        if (ViewShell* pViewShell = 
mrBase.GetMainViewShell().get())
+                        {
+                            pFrameView = pViewShell->GetFrameView();
+                            bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
+                                && pFrameView->GetPageKind() == PK_HANDOUT;
+                        }
                         break;
 
                     case SID_NOTES_MODE:
-                        pFrameView = mrBase.GetMainViewShell()->GetFrameView();
-                        bState = pFrameView->GetViewShEditMode() == EM_PAGE
-                            && pFrameView->GetPageKind() == PK_NOTES;
+                        if (ViewShell* pViewShell = 
mrBase.GetMainViewShell().get())
+                        {
+                            pFrameView = pViewShell->GetFrameView();
+                            bState = pFrameView->GetViewShEditMode() == EM_PAGE
+                                && pFrameView->GetPageKind() == PK_NOTES;
+                        }
                         break;
 
                     case SID_NOTES_MASTER_MODE:
-                        pFrameView = mrBase.GetMainViewShell()->GetFrameView();
-                        bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
-                            && pFrameView->GetPageKind() == PK_NOTES;
+                        if (ViewShell* pViewShell = 
mrBase.GetMainViewShell().get())
+                        {
+                            pFrameView = pViewShell->GetFrameView();
+                            bState = pFrameView->GetViewShEditMode() == 
EM_MASTERPAGE
+                                && pFrameView->GetPageKind() == PK_NOTES;
+                        }
                         break;
 
                     case SID_TOGGLE_TABBAR_VISIBILITY:
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to