package/source/xstor/xstorage.cxx               |    2 --
 sw/qa/core/data/odt/fail/forcepoint-xstor-1.odt |binary
 2 files changed, 2 deletions(-)

New commits:
commit 8182037871daf1d94f4beff63afeb56b20055480
Author: Caolán McNamara <>
Date:   Sat Apr 7 20:24:40 2018 +0100

    forcepoint#37 revert tdf#108572 let remove storage element
    commit 26957fc325c27cf61e8ef5555b380d627def4931
    Date:   Wed Sep 6 10:54:50 2017 +0200
        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
    The problem is that by allowing the removal of the element, existing 
    accessors are left pointing to the deleted element which causes quite some 
    as seen in this sample document
    Change-Id: Ie6ac36e6dea771b02637d77b78eb8026e3bb7ae8
    Tested-by: Jenkins <>
    Reviewed-by: Michael Stahl <>

diff --git a/package/source/xstor/xstorage.cxx 
index 5c494a586197..48bc0d6aeb04 100644
--- a/package/source/xstor/xstorage.cxx
+++ b/package/source/xstor/xstorage.cxx
@@ -2813,8 +2813,6 @@ 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;
diff --git a/sw/qa/core/data/odt/fail/forcepoint-xstor-1.odt 
new file mode 100755
index 000000000000..1844d7882ba9
Binary files /dev/null and b/sw/qa/core/data/odt/fail/forcepoint-xstor-1.odt 
Libreoffice-commits mailing list

Reply via email to