diff options
Diffstat (limited to 'dbaccess')
-rw-r--r-- | dbaccess/source/core/api/TableDeco.cxx | 2 | ||||
-rw-r--r-- | dbaccess/source/core/inc/TableDeco.hxx | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/dbaccess/source/core/api/TableDeco.cxx b/dbaccess/source/core/api/TableDeco.cxx index 1c229802b43d..6b632e135e12 100644 --- a/dbaccess/source/core/api/TableDeco.cxx +++ b/dbaccess/source/core/api/TableDeco.cxx @@ -553,7 +553,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; |