diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2019-05-29 11:19:57 +0200 |
---|---|---|
committer | Xisco FaulĂ <xiscofauli@libreoffice.org> | 2019-05-29 16:16:06 +0200 |
commit | ebae54a6fde07a08e0b666b56dbd654691e5c416 (patch) | |
tree | df9c1099cee3c1b5505a40d5c940d7d0a945ba69 /dbaccess | |
parent | 3c40f60c1693e477d0bb85b549b30a56a8ab9378 (diff) |
tdf#114596 dbaccess: fix mysterious dataloss bug (part 2)
Same problem as in 96ae2a3300811897c24cccb20f8c2faf382483df
Regression from 497e40ad03c27837978551ba15491c3fb2a0bf53
Change-Id: I00e7bf3559e688e7fbc5429ace2b5c18221c9890
Reviewed-on: https://gerrit.libreoffice.org/73146
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins
(cherry picked from commit 58f121ef2e680697e10453add43bab9b771d153a)
Reviewed-on: https://gerrit.libreoffice.org/73153
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 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; |