summaryrefslogtreecommitdiff
path: root/extensions/source/bibliography/bibview.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-07-09 12:58:11 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-07-09 17:15:27 +0000
commit6a2643b92d05a51ef241aeb1e4d5948647e646ef (patch)
tree775acd323e2fceacd65edf5f3d4326f053bd4344 /extensions/source/bibliography/bibview.cxx
parent23e31c4cba59f8de2765a6011915b8da9696807e (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.cxx6
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() )