diff options
author | Oliver-Rainer Wittmann <orw@apache.org> | 2013-04-23 13:56:58 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-05-20 11:33:20 +0100 |
commit | a1c02181319d32c4444ab7fdb4f1086221056a34 (patch) | |
tree | 4126b8fc2a6cbfe36b20dd1ca007830ce2b1f7be /svx/source/sidebar/tools | |
parent | df282e6bf8cb497b5a32a49557c2c7267e4d3541 (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.cxx | 8 |
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; } |