diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2024-04-24 09:37:35 +0200 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-08-24 16:46:55 +0200 |
commit | ae755f9d85b2716cf9051d40609866e6ef5777e5 (patch) | |
tree | c0f2173f3cde65525cb437616a1002fb563d0ab3 | |
parent | 0cf325d41996444c33a4d9d3b7d37d05ef9a398c (diff) |
sc: fix crash in ScColumn::SetEditText()
Crashreport:
> SIG Fatal signal received: SIGSEGV code: 128 for address: 0x0
> program/libsclo.so
> ScColumn::SetEditText(int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >)
> sc/source/core/data/column3.cxx:2362
> program/libsclo.so
> ScTable::SetEditText(short, int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >)
> /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395
> program/libsclo.so
> ScDocument::SetEditText(ScAddress const&, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >)
> /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395
> program/libsclo.so
> ScDocFunc::SetEditCell(ScAddress const&, EditTextObject const&, bool)
> /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395
> program/libsclo.so
> (anonymous namespace)::finalizeFormulaProcessing(std::shared_ptr<(anonymous namespace)::FormulaProcessingContext>)
> sc/source/ui/view/viewfunc.cxx:565
Change-Id: I331ca8784702fdcb0ebad6a0a73390dbe2615ece
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166577
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 1f9f5e67a436d3bf2add9c28b09e34743dcac552)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172352
-rw-r--r-- | sc/source/core/data/column3.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 2ef0f9aee3df..3d13c04f41b3 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -2356,6 +2356,11 @@ bool ScColumn::SetString( SCROW nRow, SCTAB nTabP, const OUString& rString, void ScColumn::SetEditText( SCROW nRow, std::unique_ptr<EditTextObject> pEditText ) { + if (!pEditText) + { + return; + } + pEditText->NormalizeString(GetDoc().GetSharedStringPool()); std::vector<SCROW> aNewSharedRows; sc::CellStoreType::iterator it = GetPositionToInsert(nRow, aNewSharedRows, false); |