[Libreoffice-commits] core.git: dbaccess/source
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Wed May 29 11:06:18 UTC 2019
dbaccess/source/core/api/TableDeco.cxx | 2 +-
dbaccess/source/core/inc/TableDeco.hxx | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
New commits:
commit 58f121ef2e680697e10453add43bab9b771d153a
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Wed May 29 11:19:57 2019 +0200
Commit: Xisco FaulĂ <xiscofauli at libreoffice.org>
CommitDate: Wed May 29 13:05:06 2019 +0200
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 at cib.de>
Tested-by: Jenkins
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;
More information about the Libreoffice-commits
mailing list