summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2024-04-20 12:18:24 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-04-21 20:58:13 +0200
commit0cb63cd392a9ee7b355028722121ac1ccead7336 (patch)
tree7f72528adba722a3aa49e51da02f346ca8f1e676
parenti18npool : limit string comparison using an enum class (diff)
downloadcore-0cb63cd392a9ee7b355028722121ac1ccead7336.tar.gz
core-0cb63cd392a9ee7b355028722121ac1ccead7336.zip
tdf#144256: Missing destruction of FirebirdDriver, OSDBCDriverManager
... , OPoolCollection However destruction is called when closing LO, not when just closing the file. Change-Id: Iacb09b73de49b9635240d3b43e721b8b02d35afd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166370 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--connectivity/source/cpool/ZPoolCollection.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/connectivity/source/cpool/ZPoolCollection.cxx b/connectivity/source/cpool/ZPoolCollection.cxx
index 47167ed5700a..16f415fc4f4e 100644
--- a/connectivity/source/cpool/ZPoolCollection.cxx
+++ b/connectivity/source/cpool/ZPoolCollection.cxx
@@ -76,7 +76,6 @@ OPoolCollection::OPoolCollection(const Reference< XComponentContext >& _rxContex
m_xManager = DriverManager::create( m_xContext );
m_xProxyFactory = ProxyFactory::create( m_xContext );
-
Reference<XPropertySet> xProp(getConfigPoolRoot(),UNO_QUERY);
if ( xProp.is() )
xProp->addPropertyChangeListener(getEnablePoolingNodeName(),this);
@@ -371,9 +370,9 @@ void SAL_CALL OPoolCollection::queryTermination( const EventObject& /*Event*/ )
{
}
-void SAL_CALL OPoolCollection::notifyTermination( const EventObject& /*Event*/ )
+void SAL_CALL OPoolCollection::notifyTermination( const EventObject& Event )
{
- clearDesktop();
+ disposing(Event);
}
void SAL_CALL OPoolCollection::disposing( const EventObject& Source )
@@ -402,6 +401,10 @@ void SAL_CALL OPoolCollection::disposing( const EventObject& Source )
TOOLS_WARN_EXCEPTION("connectivity.cpool", "");
}
}
+ m_xConfigNode.clear();
+ m_xProxyFactory.clear();
+ m_xManager.clear();
+ m_xContext.clear();
}
void SAL_CALL OPoolCollection::propertyChange( const css::beans::PropertyChangeEvent& evt )