summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sfx2/childwin.hxx11
-rw-r--r--sc/source/ui/inc/ChildWindowWrapper.hxx5
-rw-r--r--sfx2/source/appl/childwin.cxx6
-rw-r--r--sfx2/source/appl/workwin.cxx2
-rw-r--r--sfx2/source/dialog/dockwin.cxx5
-rw-r--r--sw/source/uibase/inc/idxmrk.hxx4
-rw-r--r--sw/source/uibase/inc/wordcountdialog.hxx2
7 files changed, 16 insertions, 19 deletions
diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index 3ddc7a377dae..03f7f20292b2 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -82,7 +82,7 @@ struct SAL_DLLPUBLIC_RTTI SfxChildWinInfo
};
// ChildWindow factory methods
-typedef SfxChildWindow* (*SfxChildWinCtor)( vcl::Window *pParentWindow,
+typedef std::unique_ptr<SfxChildWindow> (*SfxChildWinCtor)( vcl::Window *pParentWindow,
sal_uInt16 nId,
SfxBindings *pBindings,
SfxChildWinInfo *pInfo);
@@ -193,7 +193,7 @@ public:
static void RegisterChildWindow(SfxModule*, std::unique_ptr<SfxChildWinFactory>);
- static SfxChildWindow* CreateChildWindow( sal_uInt16, vcl::Window*, SfxBindings*, SfxChildWinInfo const &);
+ static std::unique_ptr<SfxChildWindow> CreateChildWindow( sal_uInt16, vcl::Window*, SfxBindings*, SfxChildWinInfo const &);
void SetHideNotDelete( bool bOn );
bool IsHideNotDelete() const;
bool IsVisible() const;
@@ -242,7 +242,7 @@ public:
#define SFX_DECL_CHILDWINDOW(Class) \
public : \
- static SfxChildWindow* CreateImpl(vcl::Window *pParent, sal_uInt16 nId, \
+ static std::unique_ptr<SfxChildWindow> CreateImpl(vcl::Window *pParent, sal_uInt16 nId, \
SfxBindings *pBindings, SfxChildWinInfo* pInfo ); \
static void RegisterChildWindow (bool bVisible=false, SfxModule *pMod=nullptr, SfxChildWindowFlags nFlags=SfxChildWindowFlags::NONE); \
virtual SfxChildWinInfo GetInfo() const override
@@ -258,11 +258,10 @@ public:
SFX_IMPL_POS_CHILDWINDOW_WITHID(Class, MyID, CHILDWIN_NOPOS)
#define SFX_IMPL_POS_CHILDWINDOW(Class, MyID, Pos) \
- SfxChildWindow* Class::CreateImpl( vcl::Window *pParent, \
+ std::unique_ptr<SfxChildWindow> Class::CreateImpl( vcl::Window *pParent, \
sal_uInt16 nId, SfxBindings *pBindings, SfxChildWinInfo* pInfo ) \
{ \
- SfxChildWindow *pWin = new Class(pParent, nId, pBindings, pInfo);\
- return pWin; \
+ return o3tl::make_unique<Class>(pParent, nId, pBindings, pInfo);\
} \
void Class::RegisterChildWindow (bool bVis, SfxModule *pMod, SfxChildWindowFlags nFlags) \
{ \
diff --git a/sc/source/ui/inc/ChildWindowWrapper.hxx b/sc/source/ui/inc/ChildWindowWrapper.hxx
index db6d0c70f73e..89bf560499d2 100644
--- a/sc/source/ui/inc/ChildWindowWrapper.hxx
+++ b/sc/source/ui/inc/ChildWindowWrapper.hxx
@@ -40,12 +40,11 @@ public:
pViewShell->GetViewFrame()->SetChildWindow( nId, false );
}
- static SfxChildWindow* CreateImpl(
+ static std::unique_ptr<SfxChildWindow> CreateImpl(
vcl::Window *pParent, sal_uInt16 nId,
SfxBindings *pBindings, SfxChildWinInfo* pInfo )
{
- SfxChildWindow* pWindow = new ChildWindowWrapper(pParent, nId, pBindings, pInfo);
- return pWindow;
+ return o3tl::make_unique<ChildWindowWrapper>(pParent, nId, pBindings, pInfo);
}
static void RegisterChildWindow (
diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index 2c53919f1c38..70dc1e7f3996 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -201,10 +201,10 @@ SfxChildWindow::~SfxChildWindow()
}
-SfxChildWindow* SfxChildWindow::CreateChildWindow( sal_uInt16 nId,
+std::unique_ptr<SfxChildWindow> SfxChildWindow::CreateChildWindow( sal_uInt16 nId,
vcl::Window *pParent, SfxBindings* pBindings, SfxChildWinInfo const & rInfo)
{
- SfxChildWindow *pChild=nullptr;
+ std::unique_ptr<SfxChildWindow> pChild;
SfxChildWinFactory* pFact=nullptr;
SystemWindowFlags nOldMode = Application::GetSystemWindowMode();
@@ -275,7 +275,7 @@ SfxChildWindow* SfxChildWindow::CreateChildWindow( sal_uInt16 nId,
if (pChild && (!pChild->pWindow && !pChild->xController))
{
- DELETEZ(pChild);
+ pChild.reset();
SAL_INFO("sfx.appl", "ChildWindow has no Window!");
}
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index b7f6eddd9777..419b2b4d6d17 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -1337,7 +1337,7 @@ void SfxWorkWindow::CreateChildWin_Impl( SfxChildWin_Impl *pCW, bool bSetFocus )
{
pCW->aInfo.bVisible = true;
- SfxChildWindow *pChildWin = SfxChildWindow::CreateChildWindow( pCW->nId, pWorkWin, &GetBindings(), pCW->aInfo);
+ SfxChildWindow *pChildWin = SfxChildWindow::CreateChildWindow( pCW->nId, pWorkWin, &GetBindings(), pCW->aInfo).release();
if (pChildWin)
{
if ( bSetFocus )
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index 5df504293d0e..1297ff1358e2 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -203,11 +203,10 @@ SfxDockingWrapper::SfxDockingWrapper( vcl::Window* pParentWnd ,
SetHideNotDelete( true );
}
-SfxChildWindow* SfxDockingWrapper::CreateImpl(vcl::Window *pParent, sal_uInt16 nId,
+std::unique_ptr<SfxChildWindow> SfxDockingWrapper::CreateImpl(vcl::Window *pParent, sal_uInt16 nId,
SfxBindings *pBindings, SfxChildWinInfo* pInfo)
{
- SfxChildWindow *pWin = new SfxDockingWrapper(pParent, nId, pBindings, pInfo);
- return pWin;
+ return o3tl::make_unique<SfxDockingWrapper>(pParent, nId, pBindings, pInfo);
}
void SfxDockingWrapper::RegisterChildWindow (bool bVis, SfxModule *pMod, SfxChildWindowFlags nFlags)
diff --git a/sw/source/uibase/inc/idxmrk.hxx b/sw/source/uibase/inc/idxmrk.hxx
index 26268026c04e..e180ebed2ffa 100644
--- a/sw/source/uibase/inc/idxmrk.hxx
+++ b/sw/source/uibase/inc/idxmrk.hxx
@@ -29,6 +29,7 @@ class SwInsertIdxMarkWrapper final : public SfxChildWindow
{
ScopedVclPtr<AbstractMarkFloatDlg> xAbstDlg;
+public:
SwInsertIdxMarkWrapper(vcl::Window *pParentWindow,
sal_uInt16 nId,
SfxBindings* pBindings,
@@ -36,7 +37,6 @@ class SwInsertIdxMarkWrapper final : public SfxChildWindow
SFX_DECL_CHILDWINDOW_WITHID(SwInsertIdxMarkWrapper);
-public:
void ReInitDlg(SwWrtShell& rWrtShell);
};
@@ -44,6 +44,7 @@ class SwInsertAuthMarkWrapper final : public SfxChildWindow
{
ScopedVclPtr<AbstractMarkFloatDlg> xAbstDlg;
+public:
SwInsertAuthMarkWrapper(vcl::Window *pParentWindow,
sal_uInt16 nId,
SfxBindings* pBindings,
@@ -51,7 +52,6 @@ class SwInsertAuthMarkWrapper final : public SfxChildWindow
SFX_DECL_CHILDWINDOW_WITHID(SwInsertAuthMarkWrapper);
-public:
void ReInitDlg(SwWrtShell& rWrtShell);
};
diff --git a/sw/source/uibase/inc/wordcountdialog.hxx b/sw/source/uibase/inc/wordcountdialog.hxx
index 7e2730f7d0aa..117a840a9db8 100644
--- a/sw/source/uibase/inc/wordcountdialog.hxx
+++ b/sw/source/uibase/inc/wordcountdialog.hxx
@@ -59,13 +59,13 @@ class SwWordCountWrapper final : public SfxChildWindow
{
VclPtr<AbstractSwWordCountFloatDlg> xAbstDlg;
+public:
SwWordCountWrapper( vcl::Window *pParentWindow,
sal_uInt16 nId,
SfxBindings* pBindings,
SfxChildWinInfo* pInfo );
SFX_DECL_CHILDWINDOW_WITHID(SwWordCountWrapper);
-public:
virtual ~SwWordCountWrapper() override;
void UpdateCounts();
void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat);