connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx |    3 +--
 connectivity/source/drivers/odbc/ODriver.cxx                   |    4 ++--
 connectivity/source/inc/ado/ADatabaseMetaDataResultSet.hxx     |    2 +-
 connectivity/source/inc/odbc/ODriver.hxx                       |    6 +++++-
 4 files changed, 9 insertions(+), 6 deletions(-)

New commits:
commit ee66e1112de4dc058ebdbb920beea7f8b85f5900
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Tue Mar 4 11:44:17 2025 +0200
Commit:     Noel Grandin <noelgran...@gmail.com>
CommitDate: Tue Mar 4 18:01:29 2025 +0100

    more type-safety in odbc::ODBCDriver
    
    Change-Id: I5db758cd282299ccd15872195a292224827d0c97
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182468
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins

diff --git a/connectivity/source/drivers/odbc/ODriver.cxx 
b/connectivity/source/drivers/odbc/ODriver.cxx
index 9df42f2ae00f..6e9b28082c11 100644
--- a/connectivity/source/drivers/odbc/ODriver.cxx
+++ b/connectivity/source/drivers/odbc/ODriver.cxx
@@ -49,7 +49,7 @@ void ODBCDriver::disposing()
 
     for (auto const& connection : m_xConnections)
     {
-        Reference< XComponent > xComp(connection.get(), UNO_QUERY);
+        rtl::Reference< OConnection > xComp(connection);
         if (xComp.is())
             xComp->dispose();
     }
@@ -87,7 +87,7 @@ Reference< XConnection > SAL_CALL ODBCDriver::connect( const 
OUString& url, cons
 
     rtl::Reference<OConnection> pCon = new OConnection(EnvironmentHandle(), 
this);
     pCon->Construct(url,info);
-    m_xConnections.push_back(WeakReferenceHelper(*pCon));
+    m_xConnections.push_back(pCon);
 
     return pCon;
 }
diff --git a/connectivity/source/inc/odbc/ODriver.hxx 
b/connectivity/source/inc/odbc/ODriver.hxx
index 505a37c01190..721f46338022 100644
--- a/connectivity/source/inc/odbc/ODriver.hxx
+++ b/connectivity/source/inc/odbc/ODriver.hxx
@@ -29,9 +29,12 @@
 #include <osl/module.h>
 #include <odbc/OFunctions.hxx>
 #include <odbc/OTools.hxx>
+#include <unotools/weakref.hxx>
 
 namespace connectivity::odbc
     {
+        class OConnection;
+
         typedef ::cppu::WeakComponentImplHelper< css::sdbc::XDriver, 
css::lang::XServiceInfo > ODriver_BASE;
 
         class OOO_DLLPUBLIC_ODBCBASE SAL_NO_VTABLE ODBCDriver : public 
ODriver_BASE
@@ -39,7 +42,8 @@ namespace connectivity::odbc
         protected:
             ::osl::Mutex                            m_aMutex;
 
-            connectivity::OWeakRefArray             m_xConnections; //  vector 
containing a list
+            std::vector<unotools::WeakReference<OConnection>>
+                                                    m_xConnections; //  vector 
containing a list
                                                         //  of all the 
Connection objects
                                                         //  for this Driver
 
commit 8489375bdc42b9090fb7991ac5a2f1c7b6e2ff76
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Tue Mar 4 11:39:20 2025 +0200
Commit:     Noel Grandin <noelgran...@gmail.com>
CommitDate: Tue Mar 4 18:01:20 2025 +0100

    ado::ODatabaseMetaDataResultSet::m_aStatement is unused
    
    Change-Id: I5185f4ddeaa041013af43006c927aa2709fb2ac4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182467
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx 
b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
index 5c96b394da0f..4234d15282ff 100644
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
@@ -87,7 +87,6 @@ void ODatabaseMetaDataResultSet::disposing()
     ::osl::MutexGuard aGuard(m_aMutex);
     if(m_pRecordSet)
         m_pRecordSet->Close();
-    m_aStatement.clear();
     m_xMetaData.clear();
 }
 
@@ -508,7 +507,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::previous(  )
 
 Reference< XInterface > SAL_CALL ODatabaseMetaDataResultSet::getStatement(  )
 {
-    return m_aStatement.get();
+    return nullptr;
 }
 
 
diff --git a/connectivity/source/inc/ado/ADatabaseMetaDataResultSet.hxx 
b/connectivity/source/inc/ado/ADatabaseMetaDataResultSet.hxx
index dce6971658d3..fda0b6e72440 100644
--- a/connectivity/source/inc/ado/ADatabaseMetaDataResultSet.hxx
+++ b/connectivity/source/inc/ado/ADatabaseMetaDataResultSet.hxx
@@ -63,7 +63,7 @@ namespace connectivity::ado
             std::map<sal_Int32, std::map< sal_Int32,OUString> >::iterator    
m_aIntValueRangeIter;
 
             ADORecordset*                   m_pRecordSet;
-            css::uno::WeakReferenceHelper   m_aStatement;
+            css::uno::WeakReferenceHelper   m_aStatement1;
             css::uno::Reference< css::sdbc::XResultSetMetaData>  m_xMetaData;
             OLEVariant                      m_aValue;
             sal_Int32                       m_nRowPos;

Reply via email to