diff options
Diffstat (limited to 'sd/source/ui/sidebar/RecentMasterPagesSelector.cxx')
-rw-r--r-- | sd/source/ui/sidebar/RecentMasterPagesSelector.cxx | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sd/source/ui/sidebar/RecentMasterPagesSelector.cxx b/sd/source/ui/sidebar/RecentMasterPagesSelector.cxx index 6266e2e25f61..b31e139e22d6 100644 --- a/sd/source/ui/sidebar/RecentMasterPagesSelector.cxx +++ b/sd/source/ui/sidebar/RecentMasterPagesSelector.cxx @@ -32,7 +32,7 @@ namespace sd { namespace sidebar { -MasterPagesSelector* RecentMasterPagesSelector::Create ( +VclPtr<vcl::Window> RecentMasterPagesSelector::Create ( vcl::Window* pParent, ViewShellBase& rViewShellBase, const css::uno::Reference<css::ui::XSidebar>& rxSidebar) @@ -43,13 +43,14 @@ MasterPagesSelector* RecentMasterPagesSelector::Create ( ::boost::shared_ptr<MasterPageContainer> pContainer (new MasterPageContainer()); - MasterPagesSelector* pSelector( + VclPtr<MasterPagesSelector> pSelector( new RecentMasterPagesSelector ( pParent, *pDocument, rViewShellBase, pContainer, - rxSidebar)); + rxSidebar), + SAL_NO_ACQUIRE); pSelector->LateInit(); pSelector->SetHelpId(HID_SD_TASK_PANE_PREVIEW_RECENT); @@ -68,8 +69,14 @@ RecentMasterPagesSelector::RecentMasterPagesSelector ( RecentMasterPagesSelector::~RecentMasterPagesSelector() { + disposeOnce(); +} + +void RecentMasterPagesSelector::dispose() +{ RecentlyUsedMasterPages::Instance().RemoveEventListener ( LINK(this,RecentMasterPagesSelector,MasterPageListListener)); + MasterPagesSelector::dispose(); } void RecentMasterPagesSelector::LateInit() |