sc/source/core/data/colorscale.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 10404751bcb643605c50d530e3855ae005e60a5e
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Jun 16 13:47:31 2022 +0100
Commit:     Eike Rathke <er...@redhat.com>
CommitDate: Thu Jun 16 17:44:24 2022 +0200

    tdf#149529 crash on deref deleted ScDocument*
    
    maybe a problem since
    
    commit 46419cd7a2d453c6f252c28dfb9dbfb08605e1c4
    Date:   Tue Jun 18 15:11:30 2013 -0400
    
        ScFormulaCell is no longer a child class of ScBaseCell.
    
        Change-Id: Id33072f193045e2eaf51373b47dac803f9a5d52c
    
    presumably the cloned ScColorScaleEntry should end up with
    a ScFormulaCell for the destination document and not the source one
    
    Change-Id: I451d5827be183198b61116ab8c582cfda03b2031
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135998
    Tested-by: Jenkins
    Reviewed-by: Eike Rathke <er...@redhat.com>

diff --git a/sc/source/core/data/colorscale.cxx 
b/sc/source/core/data/colorscale.cxx
index 75f94d3bc2ed..0a357828c61e 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -190,7 +190,7 @@ ScColorScaleEntry::ScColorScaleEntry(ScDocument* pDoc, 
const ScColorScaleEntry&
     setListener();
     if(rEntry.mpCell)
     {
-        mpCell.reset(new ScFormulaCell(*rEntry.mpCell, 
rEntry.mpCell->GetDocument(), rEntry.mpCell->aPos, 
ScCloneFlags::NoMakeAbsExternal));
+        mpCell.reset(new ScFormulaCell(*rEntry.mpCell, *pDoc, 
rEntry.mpCell->aPos, ScCloneFlags::NoMakeAbsExternal));
         mpCell->StartListeningTo( *pDoc );
         mpListener.reset(new ScFormulaListener(mpCell.get()));
         if (mpFormat)

Reply via email to