diff options
author | Noel Grandin <noel@peralex.com> | 2016-09-21 14:48:15 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2016-10-27 06:08:30 +0000 |
commit | eca5ea9f79181d45cd7fbabe2313617d3025818a (patch) | |
tree | 10b5837fe04212349825742b38f5a37be9ce7009 /cui/source/dialogs | |
parent | bbd44f8f89839b5abb4ec6c7ea195431de5b2f48 (diff) |
make the AbstractDialog stuff extend from VclReferenceBase
Because some stuff wants to multiple-inherit from VclAbstractDialog and
OutputDevice-subclasses, and we'd prefer to keep all the lifetime
management through a single smart pointer class (VclPtr)
The change in msgbox.cxx and window.cxx is to workaround a bug in
VS2013 to do with virtual inheritance and delegating constructors.
Change-Id: I178e8983b7d20a7d2790aa283be838dca5d14773
Reviewed-on: https://gerrit.libreoffice.org/29140
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cui/source/dialogs')
-rw-r--r-- | cui/source/dialogs/insrc.cxx | 6 | ||||
-rw-r--r-- | cui/source/dialogs/newtabledlg.cxx | 6 | ||||
-rw-r--r-- | cui/source/dialogs/scriptdlg.cxx | 2 | ||||
-rw-r--r-- | cui/source/dialogs/splitcelldlg.cxx | 6 |
4 files changed, 19 insertions, 1 deletions
diff --git a/cui/source/dialogs/insrc.cxx b/cui/source/dialogs/insrc.cxx index 13f18c3b5493..a6d6a4bd2304 100644 --- a/cui/source/dialogs/insrc.cxx +++ b/cui/source/dialogs/insrc.cxx @@ -47,10 +47,16 @@ SvxInsRowColDlg::SvxInsRowColDlg(vcl::Window* pParent, bool bCol, const OString& SvxInsRowColDlg::~SvxInsRowColDlg() { + disposeOnce(); +} + +void SvxInsRowColDlg::dispose() +{ m_pCountEdit.clear(); m_pBeforeBtn.clear(); m_pAfterBtn.clear(); m_pDialog.disposeAndClear(); + SvxAbstractInsRowColDlg::dispose(); } short SvxInsRowColDlg::Execute() diff --git a/cui/source/dialogs/newtabledlg.cxx b/cui/source/dialogs/newtabledlg.cxx index 6c02303647f2..50e752789f95 100644 --- a/cui/source/dialogs/newtabledlg.cxx +++ b/cui/source/dialogs/newtabledlg.cxx @@ -30,9 +30,15 @@ SvxNewTableDialog::SvxNewTableDialog() SvxNewTableDialog::~SvxNewTableDialog() { + disposeOnce(); +} + +void SvxNewTableDialog::dispose() +{ mpNumColumns.clear(); mpNumRows.clear(); m_pDialog.disposeAndClear(); + SvxAbstractNewTableDialog::dispose(); } short SvxNewTableDialog::Execute() diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx index 8f7b433521d6..a737b9ed6a32 100644 --- a/cui/source/dialogs/scriptdlg.cxx +++ b/cui/source/dialogs/scriptdlg.cxx @@ -71,7 +71,7 @@ using namespace css::document; void ShowErrorDialog( const Any& aException ) { - std::unique_ptr<SvxScriptErrorDialog> pDlg(new SvxScriptErrorDialog( aException )); + ScopedVclPtrInstance<SvxScriptErrorDialog> pDlg( aException ); pDlg->Execute(); } diff --git a/cui/source/dialogs/splitcelldlg.cxx b/cui/source/dialogs/splitcelldlg.cxx index 3fdf3e578327..f786644b9ba6 100644 --- a/cui/source/dialogs/splitcelldlg.cxx +++ b/cui/source/dialogs/splitcelldlg.cxx @@ -66,11 +66,17 @@ SvxSplitTableDlg::SvxSplitTableDlg( vcl::Window *pParent, bool bIsTableVertical, SvxSplitTableDlg::~SvxSplitTableDlg() { + disposeOnce(); +} + +void SvxSplitTableDlg::dispose() +{ m_pCountEdit.clear(); m_pHorzBox.clear(); m_pVertBox.clear(); m_pPropCB.clear(); m_pDialog.disposeAndClear(); + SvxAbstractSplittTableDialog::dispose(); } IMPL_LINK( SvxSplitTableDlg, ClickHdl, Button *, pButton, void ) |