sc/source/core/data/postit.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
New commits: commit b73015ef9471a20e7ab649f5f1f3179d858555e8 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Thu Dec 12 20:01:34 2024 -0500 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Sun Jan 12 13:15:19 2025 +0100 tdf#163033 sc: fix crash when copying comment to another ScDocument Fixes a crash that started with 7.6.0.2 commit eec038b982b4672ac8feb030cb6bae546fa8c901 The crash occurred when comments were copied (without cloning) to another document and then the source document was closed, removing access to the (uncloned) comment. Also took the opportunity to put the (minutely) most expensive comparison at the end of the if clause. Change-Id: Ia5c1313aa17550f760d5f870c566f06b7abd598b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178394 Tested-by: Jenkins Reviewed-by: Justin Luth <jl...@mail.com> (cherry picked from commit 6edc10c6b0b8322db63230b3a71e393437cbb7ac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178419 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit 6a24783fadcd72ef2913bb8d118d753a8350a599) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178545 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx index c750a16af6d3..5ff4d36fd12f 100644 --- a/sc/source/core/data/postit.cxx +++ b/sc/source/core/data/postit.cxx @@ -470,8 +470,9 @@ ScPostIt::~ScPostIt() std::unique_ptr<ScPostIt> ScPostIt::Clone( const ScAddress& rOwnPos, ScDocument& rDestDoc, const ScAddress& rDestPos, bool bCloneCaption ) const { - // tdf#117307: Don't clone comment, if it is in the same position - if ( (rOwnPos == rDestPos) && !mrDoc.IsClipboard() ) + // tdf#117307: Don't clone comment, if it is in the same position in the same document + const bool bIsSameDoc = mrDoc.GetPool() == rDestDoc.GetPool(); + if (bIsSameDoc && !mrDoc.IsClipboard() && rOwnPos == rDestPos) bCloneCaption = false; CreateCaptionFromInitData( rOwnPos ); sal_uInt32 nPostItId = comphelper::LibreOfficeKit::isActive() ? 0 : mnPostItId;