summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dbaccess/source/core/api/TableDeco.cxx2
-rw-r--r--dbaccess/source/core/inc/TableDeco.hxx7
2 files changed, 5 insertions, 4 deletions
diff --git a/dbaccess/source/core/api/TableDeco.cxx b/dbaccess/source/core/api/TableDeco.cxx
index 69a8169c86ac..821f761d9c23 100644
--- a/dbaccess/source/core/api/TableDeco.cxx
+++ b/dbaccess/source/core/api/TableDeco.cxx
@@ -552,7 +552,7 @@ void ODBTableDecorator::refreshColumns()
OContainerMediator* pMediator = new OContainerMediator( pCol, m_xColumnDefinitions );
m_xColumnMediator = pMediator;
pCol->setMediator( pMediator );
- m_pColumns = pCol;
+ m_pColumns.reset(pCol);
}
else
m_pColumns->reFill(aVector);
diff --git a/dbaccess/source/core/inc/TableDeco.hxx b/dbaccess/source/core/inc/TableDeco.hxx
index 5a964e79401d..52d6fb05e0bb 100644
--- a/dbaccess/source/core/inc/TableDeco.hxx
+++ b/dbaccess/source/core/inc/TableDeco.hxx
@@ -71,10 +71,11 @@ namespace dbaccess
css::uno::Reference< css::sdbc::XDatabaseMetaData > m_xMetaData;
css::uno::Reference< css::util::XNumberFormatsSupplier > m_xNumberFormats;
- // <properties>
+ // <properties>
mutable sal_Int32 m_nPrivileges;
- // </properties>
- rtl::Reference<::connectivity::sdbcx::OCollection> m_pColumns;
+ // </properties>
+ // note: this thing uses the ref-count of "this", see OCollection::acquire()!
+ std::unique_ptr<::connectivity::sdbcx::OCollection> m_pColumns;
// IColumnFactory
virtual OColumn* createColumn(const OUString& _rName) const override;