diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-07-09 12:58:11 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-07-09 17:15:27 +0000 |
commit | 6a2643b92d05a51ef241aeb1e4d5948647e646ef (patch) | |
tree | 775acd323e2fceacd65edf5f3d4326f053bd4344 /extensions/source/bibliography/bibview.cxx | |
parent | 23e31c4cba59f8de2765a6011915b8da9696807e (diff) |
tdf#92611 - unwind UNO lifecycle snafu.
Introduced in commit 1c4025babd7037a3292aa530c7d45ab8d6ef6dcb.
Was using UNO reference counting on a member allocated as part
of another object.
Change-Id: Ic86b2aa30359dc202c8bc2f1a0de476167a1e561
Reviewed-on: https://gerrit.libreoffice.org/16889
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'extensions/source/bibliography/bibview.cxx')
-rw-r--r-- | extensions/source/bibliography/bibview.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/extensions/source/bibliography/bibview.cxx b/extensions/source/bibliography/bibview.cxx index d1a8b95642de..23d4186f7537 100644 --- a/extensions/source/bibliography/bibview.cxx +++ b/extensions/source/bibliography/bibview.cxx @@ -66,7 +66,7 @@ namespace bib void BibView::dispose() { - BibGeneralPage* pGeneralPage = m_pGeneralPage; + VclPtr<BibGeneralPage> pGeneralPage = m_pGeneralPage; m_pGeneralPage.clear(); pGeneralPage->CommitActiveControl(); @@ -102,6 +102,7 @@ namespace bib m_aFormControlContainer.disconnectForm(); pGeneralPage->RemoveListeners(); + pGeneralPage.disposeAndClear(); m_xGeneralPage = NULL; BibWindow::dispose(); } @@ -116,11 +117,12 @@ namespace bib { m_pGeneralPage->Hide(); m_pGeneralPage->RemoveListeners(); + m_pGeneralPage.disposeAndClear(); m_xGeneralPage = 0; } m_pGeneralPage = VclPtr<BibGeneralPage>::Create( this, m_pDatMan ); - m_xGeneralPage = &m_pGeneralPage->GetFocusListener(); + m_xGeneralPage = m_pGeneralPage->GetFocusListener().get(); m_pGeneralPage->Show(); if( HasFocus() ) |