summaryrefslogtreecommitdiff
path: root/cui/source/dialogs
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-09-21 14:48:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-10-27 06:08:30 +0000
commiteca5ea9f79181d45cd7fbabe2313617d3025818a (patch)
tree10b5837fe04212349825742b38f5a37be9ce7009 /cui/source/dialogs
parentbbd44f8f89839b5abb4ec6c7ea195431de5b2f48 (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.cxx6
-rw-r--r--cui/source/dialogs/newtabledlg.cxx6
-rw-r--r--cui/source/dialogs/scriptdlg.cxx2
-rw-r--r--cui/source/dialogs/splitcelldlg.cxx6
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 )