From 4a578dc9c7b9c5697f624807790565c99ccb919d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Thu, 18 Jul 2013 14:27:15 +0100 Subject: [PATCH] Resolves: fdo#66924 switching to master view is broken It seems 0143805a565418d2a114c16b7eeba3b784176d9e wanted to not call SfxShell::Activate from ViewShell::Activate and removed that call and added an explicit SfxShell::BroadcastContextForActivation(true) (which is the body of SfxShell::Activate) to OutlineViewShell::Activate for the case where it was apparently wanted. Then DrawViewShell::Deactivate had the call to ViewShell::Deactivate removed persumably to avoid calling SfxShell::Deactivate via ViewShell::Deactivate But with ViewShell::Deactivate omitted switching to master view is broken, it does quite a lot more than call just SfxShell::Deactivate Restore the call of ViewShell::Deactivate from DrawViewShell::Deactivate and remove the call of SfxShell::Deactivate from ViewShell::Deactivate and put its equivalent of SfxShell::BroadcastContextForActivation(false) into OutlineViewShell::Deactivate to balance OutlineViewShell::Activate regression since 0143805a565418d2a114c16b7eeba3b784176d9e Change-Id: I5175378af6a6527a8be4d5011f13029d028b4304 --- sd/source/ui/view/drviews1.cxx | 4 ++-- sd/source/ui/view/outlnvsh.cxx | 1 + sd/source/ui/view/viewshel.cxx | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index fe0f1dd..f6eb20f 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -114,9 +114,9 @@ void DrawViewShell::UIDeactivated( SfxInPlaceClient* pCli ) } -void DrawViewShell::Deactivate(sal_Bool /*bIsMDIActivate*/) +void DrawViewShell::Deactivate(sal_Bool bIsMDIActivate) { - // Do not forward to ViewShell::Deactivate() to prevent a context change. + ViewShell::Deactivate(bIsMDIActivate); } namespace diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx index df93540..37e28e9 100644 --- a/sd/source/ui/view/outlnvsh.cxx +++ b/sd/source/ui/view/outlnvsh.cxx @@ -383,6 +383,7 @@ void OutlineViewShell::Deactivate( sal_Bool bIsMDIActivate ) // Links must be kept also on deactivated viewshell, to allow drag'n'drop // to function properly ViewShell::Deactivate( bIsMDIActivate ); + SfxShell::BroadcastContextForActivation(false); } /** diff --git a/sd/source/ui/view/viewshel.cxx b/sd/source/ui/view/viewshel.cxx index 0da2ef2..f27195f 100644 --- a/sd/source/ui/view/viewshel.cxx +++ b/sd/source/ui/view/viewshel.cxx @@ -403,8 +403,7 @@ void ViewShell::Deactivate(sal_Bool bIsMDIActivate) mpHorizontalRuler->SetActive(sal_False); if (mpVerticalRuler.get() != NULL) mpVerticalRuler->SetActive(sal_False); - - SfxShell::Deactivate(bIsMDIActivate); + // Do not forward to SfxShell::Deactivate() } -- 1.8.3.1