diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-01-31 14:29:18 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-01-31 16:38:14 +0000 |
commit | 3e27ba70ce212642026874ba73021930a06cdbbd (patch) | |
tree | dcce8db00668fac73a0aebc87b1ae77bf8902512 /include/sfx2/sidebar/SidebarController.hxx | |
parent | aaf41776b992a4552764f0fdf91671ffebc618fa (diff) |
Resolves: tdf#104884 print preview replaces the frame controller
so the sidebar is listening to the old controller which has been disposed[1] so
when print preview exits and yet another controller replaces the print preview
one then the sidebar still doesn't listen to the current one.
framework broadcasts COMPONENT_DETACHING/COMPONENT_REATTACHED around these
changes, so if we listen to them we can keep attached to whatever is the
current component
[1] note that ContextChangeEventMultipler doesn't inform clients that the
controller has been disposed, this remains unchanged here
Change-Id: I141509d4a262307afd7dcfc3d77de6cdd6dbfa5f
Reviewed-on: https://gerrit.libreoffice.org/33758
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/sfx2/sidebar/SidebarController.hxx')
-rw-r--r-- | include/sfx2/sidebar/SidebarController.hxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx index e648b2b3bb9a..5832f2124db3 100644 --- a/include/sfx2/sidebar/SidebarController.hxx +++ b/include/sfx2/sidebar/SidebarController.hxx @@ -45,7 +45,8 @@ typedef cppu::WeakComponentImplHelper < css::ui::XContextChangeEventListener, css::beans::XPropertyChangeListener, css::ui::XSidebar, - css::frame::XStatusListener + css::frame::XStatusListener, + css::frame::XFrameActionListener > SidebarControllerInterfaceBase; class SfxSplitWindow; @@ -97,6 +98,9 @@ public: // frame::XStatusListener virtual void SAL_CALL statusChanged (const css::frame::FeatureStateEvent& rEvent) override; + // frame::XFrameActionListener + virtual void SAL_CALL frameAction (const css::frame::FrameActionEvent& rEvent) override; + // ui::XSidebar virtual void SAL_CALL requestLayout() override; |