From c32333aed6286b6f42f2a491759a559732d0b8b2 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 14 Jul 2015 13:25:44 +0200 Subject: sfx2: tolerate frames without controller in GetSidebarControllerForFrame Unfortnately happens in CppunitTest_writerperfect_draw for Draw docs. Change-Id: I1317d30d71fa5975564d1060cbf8958f63b67f40 --- sfx2/source/sidebar/SidebarController.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'sfx2') diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 38310235c7e1..a87b65352eed 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -149,8 +149,14 @@ SidebarController::~SidebarController() SidebarController* SidebarController::GetSidebarControllerForFrame ( const css::uno::Reference& rxFrame) { + uno::Reference const xController(rxFrame->getController()); + if (!xController.is()) // this may happen during dispose of Draw controller but perhaps it's a bug + { + SAL_WARN("sfx2.sidebar", "GetSidebarControllerForFrame: frame has no XController"); + return nullptr; + } uno::Reference const xListener( - framework::GetFirstListenerWith(rxFrame->getController(), + framework::GetFirstListenerWith(xController, [] (uno::Reference const& xRef) { return nullptr != dynamic_cast(xRef.get()); } )); -- cgit