dbaccess/source/ui/misc/UITools.cxx | 24 +++++++++++---- dbaccess/source/ui/relationdesign/RelationController.cxx | 2 + 2 files changed, 20 insertions(+), 6 deletions(-)
New commits: commit 8b2b75106147d0c2499283059286914ac037aa2d Author: prrvchr <prrv...@gmail.com> AuthorDate: Tue Aug 12 11:51:50 2025 +0200 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Tue Aug 12 17:15:29 2025 +0200 tdf#167495 Base need to close ResultSet after using it. Change-Id: Ic33036a8f23d19b2cc0bc858c88a69f1c3623cc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189414 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx index e727cd9a3a5e..4d22d004f37b 100644 --- a/dbaccess/source/ui/misc/UITools.cxx +++ b/dbaccess/source/ui/misc/UITools.cxx @@ -604,7 +604,11 @@ void fillTypeInfo( const Reference< css::sdbc::XConnection>& _rxConnection, // Close the result set/statement. - ::comphelper::disposeComponent(xRs); + Reference<XCloseable> xCloseable(xRs, UNO_QUERY); + if (xCloseable.is()) + xCloseable->close(); + else + ::comphelper::disposeComponent(xRs); } void setColumnProperties(const Reference<XPropertySet>& _rxColumn,const OFieldDescription* _pFieldDesc) @@ -642,12 +646,20 @@ OUString createDefaultName(const Reference< XDatabaseMetaData>& _xMetaData,const if ( sCatalog.isEmpty() ) { Reference<XResultSet> xRes = _xMetaData->getCatalogs(); - Reference<XRow> xRow(xRes,UNO_QUERY); - while(xRes.is() && xRes->next()) + if ( xRes.is() ) { - sCatalog = xRow->getString(1); - if(!xRow->wasNull()) - break; + Reference<XRow> xRow(xRes,UNO_QUERY); + while(xRes->next()) + { + sCatalog = xRow->getString(1); + if(!xRow->wasNull()) + break; + } + Reference<XCloseable> xCloseable(xRes, UNO_QUERY); + if (xCloseable.is()) + xCloseable->close(); + else + ::comphelper::disposeComponent(xRes); } } } diff --git a/dbaccess/source/ui/relationdesign/RelationController.cxx b/dbaccess/source/ui/relationdesign/RelationController.cxx index c87a6a192284..b2fc5c0ffec3 100644 --- a/dbaccess/source/ui/relationdesign/RelationController.cxx +++ b/dbaccess/source/ui/relationdesign/RelationController.cxx @@ -300,6 +300,8 @@ namespace Reference<XCloseable> xCloseable(xResult,UNO_QUERY); if (xCloseable.is()) xCloseable->close(); + else + ::comphelper::disposeComponent(xResult); } } catch( const Exception& )