[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - sd/source

Caolán McNamara caolanm at redhat.com
Fri Jun 3 13:24:44 UTC 2016


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

New commits:
commit 1fe53fce9a0776d935fabbdf86b2c03d23da0e72
Author: Caolán McNamara <caolanm at 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 <ci at libreoffice.org>
    Reviewed-by: Katarina Behrens <Katarina.Behrens at 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:


More information about the Libreoffice-commits mailing list