summaryrefslogtreecommitdiff
path: root/sd/source/ui/sidebar/RecentMasterPagesSelector.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/sidebar/RecentMasterPagesSelector.cxx')
-rw-r--r--sd/source/ui/sidebar/RecentMasterPagesSelector.cxx13
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()