From 2a6aa95a7af11eb091dfa9494cd810998b2e324d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 26 May 2015 17:33:52 +0100 Subject: Resolves: tdf#91542 crash on pressing return in sidebar line popup Change-Id: I661a51f84827326dfc33a11a02f8065d68e8333a --- include/svx/sidebar/Popup.hxx | 2 ++ svx/source/sidebar/line/LinePropertyPanel.cxx | 1 + svx/source/sidebar/tools/Popup.cxx | 7 ++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/svx/sidebar/Popup.hxx b/include/svx/sidebar/Popup.hxx index 4fd74d14db8a..ebd91bb9fa90 100644 --- a/include/svx/sidebar/Popup.hxx +++ b/include/svx/sidebar/Popup.hxx @@ -75,6 +75,8 @@ public : */ void SetPopupModeEndHandler (const ::boost::function& rCallback); + void dispose(); + protected: VclPtr mxControl; diff --git a/svx/source/sidebar/line/LinePropertyPanel.cxx b/svx/source/sidebar/line/LinePropertyPanel.cxx index 589247e35ee4..e7348a9c19c0 100644 --- a/svx/source/sidebar/line/LinePropertyPanel.cxx +++ b/svx/source/sidebar/line/LinePropertyPanel.cxx @@ -213,6 +213,7 @@ void LinePropertyPanel::dispose() mpFTCapStyle.clear(); mpLBCapStyle.clear(); + maLineWidthPopup.dispose(); maStyleControl.dispose(); maDashControl.dispose(); maWidthControl.dispose(); diff --git a/svx/source/sidebar/tools/Popup.cxx b/svx/source/sidebar/tools/Popup.cxx index 71911a51ae72..3bd6246a5fcf 100644 --- a/svx/source/sidebar/tools/Popup.cxx +++ b/svx/source/sidebar/tools/Popup.cxx @@ -40,12 +40,17 @@ Popup::Popup ( OSL_ASSERT(maControlCreator); } -Popup::~Popup() +void Popup::dispose() { mxControl.disposeAndClear(); mxContainer.disposeAndClear(); } +Popup::~Popup() +{ + dispose(); +} + void Popup::Show (ToolBox& rToolBox) { rToolBox.SetItemDown(rToolBox.GetCurItemId(), true); -- cgit v1.2.3