https://bugs.documentfoundation.org/show_bug.cgi?id=170234
Julien Nabet <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.documentfounda | |tion.org/show_bug.cgi?id=94 | |542 CC| |[email protected] --- Comment #2 from Julien Nabet <[email protected]> --- With this patch, it works: diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx index 89a4622f8f41..a971f7ac4e6a 100644 --- a/sc/source/core/tool/editutil.cxx +++ b/sc/source/core/tool/editutil.cxx @@ -121,9 +121,6 @@ OUString ScEditUtil::GetMultilineString( const EditTextObject& rEdit ) OUString ScEditUtil::GetString( const EditTextObject& rEditText, const ScDocument& rDoc ) { - if( !rEditText.HasField()) - return GetMultilineString( rEditText ); - static std::mutex aMutex; std::scoped_lock aGuard( aMutex); // ScFieldEditEngine is needed to resolve field contents. But these lines had been added with this patch: commit fb32f28a2b7f0c33533592b855ead127b858040c Author: Luboš Luňák <[email protected]> Date: Tue May 29 10:00:31 2018 +0200 avoid using EditEngine in ScEditUtils::GetString() if possible According to 1ecdc7aaf66 it is really needed only for resolving fields, so if there's no field, simply concatenate the contents, as used to be the case before that commit. This should be faster and also safer in the case of Calc's threading enabled. So perhaps there's a proper way to fix this. Just for info, here's part of bt: #0 lcl_GetDelimitedString (rEdit=..., c=10 '\n') at /home/julien/lo/libreoffice/sc/source/core/tool/editutil.cxx:98 #1 0x00007f4cc6b9edd5 in ScEditUtil::GetMultilineString (rEdit=...) at /home/julien/lo/libreoffice/sc/source/core/tool/editutil.cxx:119 #2 0x00007f4cc6b9efbf in ScEditUtil::GetString (rEditText=..., rDoc=...) at /home/julien/lo/libreoffice/sc/source/core/tool/editutil.cxx:125 #3 0x00007f4cc6233928 in (anonymous namespace)::getStringImpl<ScRefCellValue> (rCell=..., rDoc=...) at /home/julien/lo/libreoffice/sc/source/core/data/cellvalue.cxx:200 #4 0x00007f4cc6233868 in ScRefCellValue::getString (this=0x7fff6ba745a0, rDoc=...) at /home/julien/lo/libreoffice/sc/source/core/data/cellvalue.cxx:660 #5 0x00007f4cc6d3567d in ScRangeToSequence::FillMixedArray (rAny=uno::Any(void), rDoc=..., rRange=..., bAllowNV=true) at /home/julien/lo/libreoffice/sc/source/core/tool/rangeseq.cxx:277 #6 0x00007f4cc7767feb in ScCellRangeObj::getDataArray (this=0x564009cdb830) at /home/julien/lo/libreoffice/sc/source/ui/unoobj/cellsuno.cxx:4895 -- You are receiving this mail because: You are the assignee for the bug.
