[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Mon Oct 28 21:36:39 UTC 2019


 sw/source/core/unocore/unobkm.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 6edbc6c9922f960a8b7d606474b9411ca9b69450
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Fri Oct 18 14:03:03 2019 +0200
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Mon Oct 28 22:35:58 2019 +0100

    sw: fix crash after SwXFieldmark::SetFieldType()
    
    It deletes the existing IFieldmark and creates a new one; meanwhile the
    SwXFieldmark is disposed and its m_pImpl->m_pDoc is cleared but then
    it's not initialised again by registerInMark().
    
    (regression from f66a83c95c21b4311918a64bb85016857b49f4d4)
    
    Change-Id: I8c4d9b829f68b9e5bd714bcad2061d0ff95bfb82
    Reviewed-on: https://gerrit.libreoffice.org/81081
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>
    (cherry picked from commit 26599f049df7c52eca001ba52a0684888201e1ba)
    Reviewed-on: https://gerrit.libreoffice.org/81457
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/source/core/unocore/unobkm.cxx b/sw/source/core/unocore/unobkm.cxx
index 0a53c27c4516..556a2555987f 100644
--- a/sw/source/core/unocore/unobkm.cxx
+++ b/sw/source/core/unocore/unobkm.cxx
@@ -104,6 +104,8 @@ void SwXBookmark::Impl::registerInMark(SwXBookmark& rThis,
         {
             pMarkBase->SetXBookmark(xBookmark);
         }
+        assert(m_pDoc == nullptr || m_pDoc == pBkmk->GetMarkPos().GetDoc());
+        m_pDoc = pBkmk->GetMarkPos().GetDoc();
     }
     else if (m_pRegisteredBookmark)
     {


More information about the Libreoffice-commits mailing list