[Libreoffice-commits] core.git: sc/inc sc/qa sc/source
Caolán McNamara
caolanm at redhat.com
Tue Mar 27 11:31:32 UTC 2018
sc/inc/dbdata.hxx | 2 +-
sc/qa/unit/ucalc_sharedformula.cxx | 4 ----
sc/source/filter/xml/xmldrani.cxx | 5 +----
sc/source/ui/docshell/dbdocfun.cxx | 1 -
4 files changed, 2 insertions(+), 10 deletions(-)
New commits:
commit edfa0562617c1330cc00923a5cf6e5916bacfed0
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Mar 27 10:11:51 2018 +0100
ofz#7121 NamedDBs::insert takes ownership of its argument
at one point this was based on std::auto_ptr and didn't
free its arg on failure
Change-Id: I8aeed6876d80b7ebe4ebb5e2cfd12e00420bd207
Reviewed-on: https://gerrit.libreoffice.org/51932
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx
index 061ef5187cfa..7752693765a1 100644
--- a/sc/inc/dbdata.hxx
+++ b/sc/inc/dbdata.hxx
@@ -262,7 +262,7 @@ public:
Deletes p if it could not be inserted, i.e. duplicate name.
@return <TRUE/> if inserted, else <FALSE/>.
*/
- SAL_WARN_UNUSED_RESULT bool insert(ScDBData* p);
+ bool insert(ScDBData* p);
void erase(const iterator& itr);
bool empty() const;
diff --git a/sc/qa/unit/ucalc_sharedformula.cxx b/sc/qa/unit/ucalc_sharedformula.cxx
index 0f2c50f9d204..a21f778d6411 100644
--- a/sc/qa/unit/ucalc_sharedformula.cxx
+++ b/sc/qa/unit/ucalc_sharedformula.cxx
@@ -1581,8 +1581,6 @@ void Test::testSharedFormulaUpdateOnDBChange()
// Define database range 'MyRange' for A1:A2.
ScDBData* pData = new ScDBData("MyRange", 0, 0, 0, 0, 1);
bool bInserted = pDBs->getNamedDBs().insert(pData);
- if (!bInserted)
- delete pData;
CPPUNIT_ASSERT_MESSAGE("Failed to insert a new database range.", bInserted);
// Insert in C2:C4 a group of formula cells that reference MyRange.
@@ -1606,8 +1604,6 @@ void Test::testSharedFormulaUpdateOnDBChange()
ScDBCollection aNewDBs(m_pDoc);
ScDBData* pNewData = new ScDBData("MyRange", 0, 0, 0, 0, 3);
bInserted = aNewDBs.getNamedDBs().insert(pNewData);
- if (!bInserted)
- delete pNewData;
CPPUNIT_ASSERT_MESSAGE("Failed to insert a new database range.", bInserted);
std::vector<ScRange> aDeleted;
diff --git a/sc/source/filter/xml/xmldrani.cxx b/sc/source/filter/xml/xmldrani.cxx
index 9e88a8943a95..721f7f946a8f 100644
--- a/sc/source/filter/xml/xmldrani.cxx
+++ b/sc/source/filter/xml/xmldrani.cxx
@@ -444,10 +444,7 @@ void SAL_CALL ScXMLDatabaseRangeContext::endFastElement( sal_Int32 /*nElement*/
if (pData.get())
{
setAutoFilterFlags(*pDoc, *pData);
- if (pDoc->GetDBCollection()->getNamedDBs().insert(pData.get()))
- {
- pData.release();
- }
+ pDoc->GetDBCollection()->getNamedDBs().insert(pData.release());
}
}
}
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 3a409e774d64..3a8a5d28de06 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -170,7 +170,6 @@ bool ScDBDocFunc::RenameDBRange( const OUString& rOld, const OUString& rNew )
bool bInserted = rDBs.insert(pNewData);
if (!bInserted) // error -> restore old state
{
- delete pNewData;
rDoc.SetDBCollection(std::move(pUndoColl)); // belongs to the document then
}
More information about the Libreoffice-commits
mailing list