diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-09-15 09:17:14 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-09-15 09:30:05 +0200 |
commit | 538635e089cac31ddf433f650e86de5e2b7f03cc (patch) | |
tree | 1f0e246954203f0d480e5ec61c049feec0ec76f1 /dbaccess | |
parent | c3c4ae5fdac0341f01eeed8d5c633d203eed8b2a (diff) |
Make OGenericUnoDialog::destoryDialog non-virtual
...it is only ever called:
* either from dtors, where the virtual-ness doesn't acutally help (and would
trigger loplugin:fragiledestructor if that were enabled)
* or, in module filter, from executeDialog members of (final) classes directly
derived from OGenericUnODialog without overriding destroyDialog
Change-Id: If9a7370385a27952189423e5632b3f01e18ddbb5
Diffstat (limited to 'dbaccess')
-rw-r--r-- | dbaccess/source/ui/inc/unoadmin.hxx | 1 | ||||
-rw-r--r-- | dbaccess/source/ui/uno/unoadmin.cxx | 11 |
2 files changed, 3 insertions, 9 deletions
diff --git a/dbaccess/source/ui/inc/unoadmin.hxx b/dbaccess/source/ui/inc/unoadmin.hxx index ba952dbd8ddd..49271328e413 100644 --- a/dbaccess/source/ui/inc/unoadmin.hxx +++ b/dbaccess/source/ui/inc/unoadmin.hxx @@ -53,7 +53,6 @@ protected: virtual ~ODatabaseAdministrationDialog() override; protected: // OGenericUnoDialog overridables - virtual void destroyDialog() override; virtual void implInitialize(const css::uno::Any& _rValue) override; }; diff --git a/dbaccess/source/ui/uno/unoadmin.cxx b/dbaccess/source/ui/uno/unoadmin.cxx index f866b6080d37..a7cf4676a0aa 100644 --- a/dbaccess/source/ui/uno/unoadmin.cxx +++ b/dbaccess/source/ui/uno/unoadmin.cxx @@ -55,13 +55,14 @@ ODatabaseAdministrationDialog::ODatabaseAdministrationDialog(const Reference< XC ODatabaseAdministrationDialog::~ODatabaseAdministrationDialog() { - // we do this here cause the base class' call to destroyDialog won't reach us anymore: we're within an dtor, - // so this virtual-method-call the base class does not work, we're already dead then... if (m_pDialog) { ::osl::MutexGuard aGuard(m_aMutex); if (m_pDialog) + { destroyDialog(); + ODbAdminDialog::destroyItemSet(m_pDatasourceItems, m_pItemPool, m_pItemPoolDefaults); + } } delete m_pCollection; @@ -69,12 +70,6 @@ ODatabaseAdministrationDialog::~ODatabaseAdministrationDialog() } -void ODatabaseAdministrationDialog::destroyDialog() -{ - ODatabaseAdministrationDialogBase::destroyDialog(); - ODbAdminDialog::destroyItemSet(m_pDatasourceItems, m_pItemPool, m_pItemPoolDefaults); -} - void ODatabaseAdministrationDialog::implInitialize(const Any& _rValue) { PropertyValue aProperty; |