summaryrefslogtreecommitdiff
path: root/sd/source
diff options
context:
space:
mode:
authorJim Raykowski <raykowj@gmail.com>2024-03-13 16:26:44 -0800
committerJim Raykowski <raykowj@gmail.com>2024-04-10 18:48:39 +0200
commit64f1fbc4a66715aa616ffeff1eb612393fa9fba3 (patch)
treed4f5f3573d730c05efde093e66fc88110dbe3756 /sd/source
parent833e2ecf43708332b248689304a53b5c50af155d (diff)
tdf#160190 Fix selection stops working in sidebar SdNavigator
after formula or OLE insert Change-Id: I945a07fef137aa30afff91ac7c50f180e5f4c3d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164797 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Diffstat (limited to 'sd/source')
-rw-r--r--sd/source/ui/dlg/navigatr.cxx61
1 files changed, 29 insertions, 32 deletions
diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx
index 538f1c68b113..5c01c44b618d 100644
--- a/sd/source/ui/dlg/navigatr.cxx
+++ b/sd/source/ui/dlg/navigatr.cxx
@@ -164,20 +164,21 @@ void SdNavigatorWin::FreshTree( const SdDrawDocument* pDoc )
sd::DrawDocShell* pDocShell = pNonConstDoc->GetDocSh();
::sd::ViewShell* pViewShell = pDocShell->GetViewShell();
+ // tdf#160190
+ if (!pViewShell)
+ return;
+
// tdf#139944 disable navigator in master mode
- if (pViewShell)
+ if (const sd::DrawViewShell* pDrawViewShell = static_cast<::sd::DrawViewShell*>(pViewShell))
{
- if (const sd::DrawViewShell* pDrawViewShell = static_cast<::sd::DrawViewShell*>(pViewShell))
+ if (pDrawViewShell->GetEditMode() == EditMode::MasterPage)
{
- if (pDrawViewShell->GetEditMode() == EditMode::MasterPage)
- {
- m_xContainer->set_sensitive(false);
- mxTlbObjects->clear();
- return;
- }
- else
- m_xContainer->set_sensitive(true);
+ m_xContainer->set_sensitive(false);
+ mxTlbObjects->clear();
+ return;
}
+ else
+ m_xContainer->set_sensitive(true);
}
const OUString& aDocShName( pDocShell->GetName() );
@@ -189,8 +190,7 @@ void SdNavigatorWin::FreshTree( const SdDrawDocument* pDoc )
mxLbDocs->set_active_text(aDocShName);
}
- if (pViewShell)
- lcl_select_marked_objects(pViewShell, mxTlbObjects.get());
+ lcl_select_marked_objects(pViewShell, mxTlbObjects.get());
}
void SdNavigatorWin::InitTreeLB( const SdDrawDocument* pDoc )
@@ -200,35 +200,33 @@ void SdNavigatorWin::InitTreeLB( const SdDrawDocument* pDoc )
OUString aDocShName( pDocShell->GetName() );
::sd::ViewShell* pViewShell = pDocShell->GetViewShell();
+ // tdf#160190
+ if (!pViewShell)
+ return;
+
// tdf#139944 disable navigator in master mode
- if (pViewShell)
+ if (const sd::DrawViewShell* pDrawViewShell = static_cast<::sd::DrawViewShell*>(pViewShell))
{
- if (const sd::DrawViewShell* pDrawViewShell = static_cast<::sd::DrawViewShell*>(pViewShell))
+ if (pDrawViewShell->GetEditMode() == EditMode::MasterPage)
{
- if (pDrawViewShell->GetEditMode() == EditMode::MasterPage)
- {
- m_xContainer->set_sensitive(false);
- mxTlbObjects->clear();
- RefreshDocumentLB();
- return;
- }
- else
- m_xContainer->set_sensitive(true);
+ m_xContainer->set_sensitive(false);
+ mxTlbObjects->clear();
+ RefreshDocumentLB();
+ return;
}
+ else
+ m_xContainer->set_sensitive(true);
}
// Restore the 'ShowAllShapes' flag from the last time (in this session)
// that the navigator was shown.
- if (pViewShell != nullptr)
- {
- ::sd::FrameView* pFrameView = pViewShell->GetFrameView();
- if (pFrameView != nullptr)
- mxTlbObjects->SetShowAllShapes(pFrameView->IsNavigatorShowingAllShapes(), false);
- }
+ ::sd::FrameView* pFrameView = pViewShell->GetFrameView();
+ if (pFrameView != nullptr)
+ mxTlbObjects->SetShowAllShapes(pFrameView->IsNavigatorShowingAllShapes(), false);
// Disable the shape filter drop down menu when there is a running slide
// show.
- if (pViewShell!=nullptr && sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() )
+ if (sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() )
&& !sd::SlideShow::IsInteractiveSlideshow( &pViewShell->GetViewShellBase() ) ) // IASS
mxToolbox->set_item_sensitive("shapes", false);
else
@@ -256,8 +254,7 @@ void SdNavigatorWin::InitTreeLB( const SdDrawDocument* pDoc )
}
}
- if (pViewShell)
- lcl_select_marked_objects(pViewShell, mxTlbObjects.get());
+ lcl_select_marked_objects(pViewShell, mxTlbObjects.get());
}
/**