diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-07-17 15:52:52 -0400 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-07-17 21:26:31 +0000 |
commit | 0db60837932a5f2f09dc88eb977c1bbf31b911e8 (patch) | |
tree | 2a3856330f16915f52d2e3c8a74661dd16240900 | |
parent | d6063cf9fd93b630a0065dfbe51c66228a704b1f (diff) |
fdo#81470: Fix a crasher during xlsx export with revisions.
Calling Undo() here removes revision entries which also removes formula
cell instances stored in the entries. The problem is that the
XclExpChTrCellContent instances store pointers to these formula instances
for later use, and removing the entries at this location causes deleted
formula instances to get accessed which in turn causes segfault.
Since all revision entries get deleted when the temp change track instance
gets deleted at the end of the revision export, not deleting the entries
here will not cause memory leaks.
Change-Id: I85f8064945a841b684e4fc4a97c3f9bb6a2de353
(cherry picked from commit 3bce16799c34d0b28704c43eae77501c0f6aec1e)
Reviewed-on: https://gerrit.libreoffice.org/10370
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | sc/source/filter/xcl97/XclExpChangeTrack.cxx | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx index cf43455cd3e4..4546a1d8bba1 100644 --- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx +++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx @@ -1408,7 +1408,6 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) : { PushActionRecord( *pScAction ); const ScChangeAction* pPrevAction = pScAction->GetPrev(); - pTempChangeTrack->Undo( pScAction->GetActionNumber(), pScAction->GetActionNumber() ); pScAction = pPrevAction; } |