summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2017-09-06 10:54:50 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2017-09-07 11:52:38 +0200
commit26957fc325c27cf61e8ef5555b380d627def4931 (patch)
treedc06a16d91cd141b9105116d7171e30b357fa654
parentf091460837835033b10df7674210b0856cda0ec9 (diff)
tdf#108572 let remove storage element
void OStorage_Impl::RemoveElement( SotElement_Impl* pElement ) expects that m_pAntiImpl will be nullptr, if not throws an exception. This caused that in case of deleting embedded database used for mail merge it wasn't fully removed and it was impossible to import the same datasource second time. Change-Id: I0310fde2ad819c96474a857f37ee42d052fad266 Reviewed-on: https://gerrit.libreoffice.org/42028 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--package/source/xstor/xstorage.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/package/source/xstor/xstorage.cxx b/package/source/xstor/xstorage.cxx
index 2edbfcbc1873..79b239588c77 100644
--- a/package/source/xstor/xstorage.cxx
+++ b/package/source/xstor/xstorage.cxx
@@ -2816,6 +2816,8 @@ void SAL_CALL OStorage::removeElement( const OUString& aElementName )
if ( !pElement )
throw container::NoSuchElementException( THROW_WHERE ); //???
+ if ( pElement->m_xStorage )
+ pElement->m_xStorage->m_pAntiImpl = nullptr;
m_pImpl->RemoveElement( pElement );
m_pImpl->m_bIsModified = true;