summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-02-04 21:04:44 +0000
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-02-09 10:45:23 +0000
commite33e78a6fce0faf86f944cfc13726d4f132ef4e5 (patch)
treed539d80e2fb296e531b71e949475de39319d3e1c
parentc7f53a3eb1912cd5681632a230b40225397077d5 (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.hxx13
-rw-r--r--sw/source/uibase/ribbar/workctrl.cxx6
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 )