summaryrefslogtreecommitdiff
path: root/svx/source/sidebar/tools
diff options
context:
space:
mode:
authorOliver-Rainer Wittmann <orw@apache.org>2013-04-23 13:56:58 +0000
committerMichael Meeks <michael.meeks@suse.com>2013-05-20 11:33:20 +0100
commita1c02181319d32c4444ab7fdb4f1086221056a34 (patch)
tree4126b8fc2a6cbfe36b20dd1ca007830ce2b1f7be /svx/source/sidebar/tools
parentdf282e6bf8cb497b5a32a49557c2c7267e4d3541 (diff)
Related: #i121793# correction for page property panel:
- show correct state in popups - aggregate multiple attribute changes into one undo action (cherry picked from commit 306b1c56dc88ac357093d1dc5eb8c8360f8f7100) Conflicts: sw/source/ui/sidebar/PagePropertyPanel.cxx sw/source/ui/uiview/viewtab.cxx Change-Id: I4764be46535fe7a00cbb296c06094e3f8ea461df
Diffstat (limited to 'svx/source/sidebar/tools')
-rw-r--r--svx/source/sidebar/tools/Popup.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/svx/source/sidebar/tools/Popup.cxx b/svx/source/sidebar/tools/Popup.cxx
index 70c1e8665c5a..8678eb6f54ed 100644
--- a/svx/source/sidebar/tools/Popup.cxx
+++ b/svx/source/sidebar/tools/Popup.cxx
@@ -122,8 +122,7 @@ void Popup::CreateContainerAndControl (void)
{
mpContainer.reset(new PopupContainer(mpParent));
mpContainer->SetAccessibleName(msAccessibleName);
- if (maPopupModeEndCallback)
- mpContainer->SetPopupModeEndHdl(LINK(this, Popup, PopupModeEndHandler));
+ mpContainer->SetPopupModeEndHdl(LINK(this, Popup, PopupModeEndHandler));
mpContainer->SetBorderStyle(mpContainer->GetBorderStyle() | WINDOW_BORDER_MENU);
mpControl.reset(maControlCreator(mpContainer.get()));
@@ -136,6 +135,11 @@ IMPL_LINK(Popup, PopupModeEndHandler, void*, EMPTYARG)
{
if (maPopupModeEndCallback)
maPopupModeEndCallback();
+
+ // Popup control is no longer needed and can be destroyed.
+ mpControl.reset();
+ mpContainer.reset();
+
return 0;
}