diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-02-04 21:04:44 +0000 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2015-02-09 10:45:23 +0000 |
commit | e33e78a6fce0faf86f944cfc13726d4f132ef4e5 (patch) | |
tree | d539d80e2fb296e531b71e949475de39319d3e1c | |
parent | c7f53a3eb1912cd5681632a230b40225397077d5 (diff) |
Resolves: tdf#85004 Crash when clicking the Reminder icon...
on the Navigation toolbar
the Parent window isn't a SwScrollNaviPopup anymore
(cherry picked from commit 535f34bba60e06d390a6f3802072b16a9841bc4e)
Conflicts:
sw/source/uibase/ribbar/workctrl.cxx
Change-Id: I5c539d125aac28bfee0beb842ff2df001e19c945
Reviewed-on: https://gerrit.libreoffice.org/14326
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r-- | sw/source/uibase/inc/workctrl.hxx | 13 | ||||
-rw-r--r-- | sw/source/uibase/ribbar/workctrl.cxx | 6 |
2 files changed, 13 insertions, 6 deletions
diff --git a/sw/source/uibase/inc/workctrl.hxx b/sw/source/uibase/inc/workctrl.hxx index 493b164d1962..6bb9c1f5377c 100644 --- a/sw/source/uibase/inc/workctrl.hxx +++ b/sw/source/uibase/inc/workctrl.hxx @@ -110,14 +110,21 @@ public: DECL_LINK(PopupHdl, PopupMenu*); }; +class SwScrollNaviPopup; + class SwScrollNaviToolBox : public ToolBox { + SwScrollNaviPopup *m_pNaviPopup; + virtual void MouseButtonUp( const MouseEvent& rMEvt ) SAL_OVERRIDE; virtual void RequestHelp( const HelpEvent& rHEvt ) SAL_OVERRIDE; - public: - SwScrollNaviToolBox(vcl::Window* pParent, WinBits nWinStyle ) : - ToolBox(pParent, nWinStyle ) {} +public: + SwScrollNaviToolBox(vcl::Window* pParent, SwScrollNaviPopup* pNaviPopup, WinBits nWinStyle) + : ToolBox(pParent, nWinStyle) + , m_pNaviPopup(pNaviPopup) + { + } }; class SwScrollNaviPopup : public SfxPopupWindow diff --git a/sw/source/uibase/ribbar/workctrl.cxx b/sw/source/uibase/ribbar/workctrl.cxx index d191cfdcf394..56eb31fec9e7 100644 --- a/sw/source/uibase/ribbar/workctrl.cxx +++ b/sw/source/uibase/ribbar/workctrl.cxx @@ -394,7 +394,7 @@ SwScrollNaviPopup::SwScrollNaviPopup(sal_uInt16 nId, const Reference< XFrame >& "modules/swriter/ui/floatingnavigation.ui", rFrame), aIList(SW_RES(IL_VALUES)) { - m_pToolBox = new SwScrollNaviToolBox(get<vcl::Window>("box"), 0); + m_pToolBox = new SwScrollNaviToolBox(get<vcl::Window>("box"), this, 0); get(m_pInfoField, "label"); sal_uInt16 i; @@ -502,8 +502,8 @@ IMPL_LINK(SwScrollNaviPopup, SelectHdl, ToolBox*, pSet) void SwScrollNaviToolBox::MouseButtonUp( const MouseEvent& rMEvt ) { ToolBox::MouseButtonUp(rMEvt); - if ( ((SwScrollNaviPopup*)GetParent())->IsInPopupMode() ) - ((SwScrollNaviPopup*)GetParent())->EndPopupMode( FLOATWIN_POPUPMODEEND_CLOSEALL ); + if (m_pNaviPopup->IsInPopupMode()) + m_pNaviPopup->EndPopupMode(FLOATWIN_POPUPMODEEND_CLOSEALL); } void SwScrollNaviToolBox::RequestHelp( const HelpEvent& rHEvt ) |