[Libreoffice-commits] core.git: 2 commits - sc/inc sc/qa sc/source sw/inc sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Sat Dec 7 19:38:14 UTC 2019


 sc/inc/editutil.hxx                                               |    8 -
 sc/qa/extras/scpdfexport.cxx                                      |    2 
 sc/qa/unit/subsequent_export-test.cxx                             |   16 +--
 sc/qa/unit/ucalc.cxx                                              |   26 ++---
 sc/qa/unit/ucalc_column.cxx                                       |    2 
 sc/qa/unit/ucalc_sharedformula.cxx                                |    2 
 sc/qa/unit/ucalc_sort.cxx                                         |    2 
 sc/source/core/data/cellvalue.cxx                                 |    4 
 sc/source/core/data/clipcontext.cxx                               |    2 
 sc/source/core/data/column2.cxx                                   |    2 
 sc/source/core/data/column3.cxx                                   |    2 
 sc/source/core/data/documen8.cxx                                  |    4 
 sc/source/core/data/document.cxx                                  |    4 
 sc/source/core/data/postit.cxx                                    |    2 
 sc/source/core/data/stlpool.cxx                                   |   10 -
 sc/source/core/data/table6.cxx                                    |    2 
 sc/source/core/tool/cellform.cxx                                  |    2 
 sc/source/core/tool/editutil.cxx                                  |   16 +--
 sc/source/filter/excel/xehelper.cxx                               |    2 
 sc/source/filter/excel/xicontent.cxx                              |    4 
 sc/source/filter/excel/xihelper.cxx                               |    4 
 sc/source/filter/oox/richstring.cxx                               |    2 
 sc/source/filter/xml/xmlcelli.cxx                                 |    4 
 sc/source/ui/Accessibility/AccessibleText.cxx                     |    6 -
 sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx |    2 
 sc/source/ui/app/inputhdl.cxx                                     |   16 +--
 sc/source/ui/app/inputwin.cxx                                     |    4 
 sc/source/ui/app/transobj.cxx                                     |    6 -
 sc/source/ui/dbgui/csvgrid.cxx                                    |    2 
 sc/source/ui/docshell/docfunc.cxx                                 |    2 
 sc/source/ui/docshell/docsh8.cxx                                  |    2 
 sc/source/ui/docshell/impex.cxx                                   |    4 
 sc/source/ui/pagedlg/scuitphfedit.cxx                             |   28 ++---
 sc/source/ui/pagedlg/tphfedit.cxx                                 |    2 
 sc/source/ui/undo/undoblk3.cxx                                    |    2 
 sc/source/ui/unoobj/editsrc.cxx                                   |    2 
 sc/source/ui/unoobj/fielduno.cxx                                  |    2 
 sc/source/ui/unoobj/textuno.cxx                                   |    8 -
 sc/source/ui/view/gridwin.cxx                                     |   12 +-
 sc/source/ui/view/gridwin4.cxx                                    |    2 
 sc/source/ui/view/output2.cxx                                     |   10 -
 sc/source/ui/view/preview.cxx                                     |    2 
 sc/source/ui/view/printfun.cxx                                    |    4 
 sc/source/ui/view/spelldialog.cxx                                 |    2 
 sc/source/ui/view/spelleng.cxx                                    |    6 -
 sc/source/ui/view/viewfun2.cxx                                    |    2 
 sc/source/ui/view/viewfun4.cxx                                    |    6 -
 sc/source/ui/view/viewfunc.cxx                                    |    2 
 sw/inc/unoframe.hxx                                               |    5 
 sw/source/core/unocore/unoframe.cxx                               |   18 ---
 sw/source/core/unocore/unotext.cxx                                |   52 +++++-----
 51 files changed, 166 insertions(+), 169 deletions(-)

New commits:
commit 04159aab6827e22a67a0c7bc4d68b4a999d51318
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Fri Dec 6 17:39:56 2019 +0100
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Sat Dec 7 20:37:10 2019 +0100

    ofz#18563 sw: remove SwXFrame::m_pCopySource to fix ~SwIndexReg assert
    
    The problem is that a text frame is inserted with a selection that
    partially selects a fieldmark, so the DeleteAndJoin() is split across
    multiple calls with a temporary cursor, and the correction of the passed
    in rPam that is ultimately SwXFrame::m_pCopySource is not done, so it
    remains on a deleted node.
    
    Replace it with a SwUnoCursor, which is automatically corrected.
    
    It turns out that this m_pCopySource member was only set via a call to
    SetSelection() from one place in SwXText::convertToTextFrame(),
    which ends up immediately calling SwXFrame::attach() anyway, which then
    uses m_pCopySource and resets it.  This was added in
    deba85c5b73f36affe672567ed4a45938953f312 but it would be far simpler to
    just pass a local variable to SwXFrame::attachToRange().
    
    Change-Id: I85ed128db63c13f81f215d8f50036d9d2aa6c519
    Reviewed-on: https://gerrit.libreoffice.org/84661
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>

diff --git a/sw/inc/unoframe.hxx b/sw/inc/unoframe.hxx
index 074f7b814535..6fcce7a82032 100644
--- a/sw/inc/unoframe.hxx
+++ b/sw/inc/unoframe.hxx
@@ -71,8 +71,6 @@ private:
     bool bIsDescriptor;
     OUString                        m_sName;
 
-    std::unique_ptr<SwPaM>          m_pCopySource;
-
     sal_Int64                       m_nDrawAspect;
     sal_Int64                       m_nVisibleAreaWidth;
     sal_Int64                       m_nVisibleAreaHeight;
@@ -148,7 +146,8 @@ public:
 
     /// @throws css::lang::IllegalArgumentException
     /// @throws css::uno::RuntimeException
-    void attachToRange(const css::uno::Reference< css::text::XTextRange > & xTextRange);
+    void attachToRange(css::uno::Reference<css::text::XTextRange> const& xTextRange,
+            SwPaM const* pCopySource = nullptr);
 
     const SwFrameFormat* GetFrameFormat() const
         { return m_pFrameFormat; }
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index 0a180e2905db..93527cc7772f 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -1263,7 +1263,6 @@ SwXFrame::SwXFrame(SwFrameFormat& rFrameFormat, FlyCntType eSet, const ::SfxItem
 SwXFrame::~SwXFrame()
 {
     SolarMutexGuard aGuard;
-    m_pCopySource.reset();
     m_pProps.reset();
     EndListeningAll();
 }
@@ -1352,13 +1351,6 @@ uno::Reference< beans::XPropertySetInfo >  SwXFrame::getPropertySetInfo()
     return xRef;
 }
 
-void SwXFrame::SetSelection(SwPaM& rCopySource)
-{
-    m_pCopySource.reset(new SwPaM(*rCopySource.Start()));
-    m_pCopySource->SetMark();
-    *m_pCopySource->GetMark() = *rCopySource.End();
-}
-
 SdrObject *SwXFrame::GetOrCreateSdrObject(SwFlyFrameFormat &rFormat)
 {
     SdrObject* pObject = rFormat.FindSdrObject();
@@ -2664,7 +2656,8 @@ void SwXFrame::ResetDescriptor()
     m_pProps.reset();
 }
 
-void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
+void SwXFrame::attachToRange(uno::Reference<text::XTextRange> const& xTextRange,
+        SwPaM const*const pCopySource)
 {
     SolarMutexGuard aGuard;
     if(!IsDescriptor())
@@ -2756,7 +2749,7 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
     if( eType == FLYCNTTYPE_FRM)
     {
         UnoActionContext aCont(pDoc);
-        if(m_pCopySource)
+        if (pCopySource)
         {
             std::unique_ptr<SwFormatAnchor> pAnchorItem;
             // the frame is inserted bound to page
@@ -2769,18 +2762,17 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
 
             aPam.DeleteMark(); // mark position node will be deleted!
             aIntPam.DeleteMark(); // mark position node will be deleted!
-            pFormat = pDoc->MakeFlyAndMove( *m_pCopySource, aFrameSet,
+            pFormat = pDoc->MakeFlyAndMove( *pCopySource, aFrameSet,
                            nullptr,
                            pParentFrameFormat );
             if(pAnchorItem && pFormat)
             {
                 pFormat->DelFrames();
-                pAnchorItem->SetAnchor( m_pCopySource->Start() );
+                pAnchorItem->SetAnchor( pCopySource->Start() );
                 SfxItemSet aAnchorSet( pDoc->GetAttrPool(), svl::Items<RES_ANCHOR, RES_ANCHOR>{} );
                 aAnchorSet.Put( *pAnchorItem );
                 pDoc->SetFlyFrameAttr( *pFormat, aAnchorSet );
             }
-            m_pCopySource.reset();
         }
         else
         {
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index 64d6dc3ef6a2..c689ec89e9a9 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -1511,13 +1511,20 @@ SwXText::convertToTextFrame(
         throw  uno::RuntimeException();
     }
     uno::Reference< text::XTextContent > xRet;
-    SwUnoInternalPaM aStartPam(*GetDoc());
+    std::unique_ptr<SwUnoInternalPaM> pTempStartPam(new SwUnoInternalPaM(*GetDoc()));
     std::unique_ptr< SwUnoInternalPaM > pEndPam(new SwUnoInternalPaM(*GetDoc()));
-    if (!::sw::XTextRangeToSwPaM(aStartPam, xStart) ||
+    if (!::sw::XTextRangeToSwPaM(*pTempStartPam, xStart) ||
         !::sw::XTextRangeToSwPaM(*pEndPam, xEnd))
     {
         throw lang::IllegalArgumentException();
     }
+    auto pStartPam(GetDoc()->CreateUnoCursor(*pTempStartPam->GetPoint()));
+    if (pTempStartPam->HasMark())
+    {
+        pStartPam->SetMark();
+        *pStartPam->GetMark() = *pTempStartPam->GetMark();
+    }
+    pTempStartPam.reset();
 
     SwXTextRange *const pStartRange =
         comphelper::getUnoTunnelImplementation<SwXTextRange>(xStart);
@@ -1538,7 +1545,7 @@ SwXText::convertToTextFrame(
     bool bIllegalException = false;
     bool bRuntimeException = false;
     OUString sMessage;
-    SwStartNode* pStartStartNode = aStartPam.GetNode().StartOfSectionNode();
+    SwStartNode* pStartStartNode = pStartPam->GetNode().StartOfSectionNode();
     while (pStartStartNode && pStartStartNode->IsSectionNode())
     {
         pStartStartNode = pStartStartNode->StartOfSectionNode();
@@ -1576,9 +1583,9 @@ SwXText::convertToTextFrame(
             const SwNodeIndex aTableIdx(  *pStartTableNode, -1 );
             SwPosition aBefore(aTableIdx);
             bParaBeforeInserted = GetDoc()->getIDocumentContentOperations().AppendTextNode( aBefore );
-            aStartPam.DeleteMark();
-            *aStartPam.GetPoint() = aBefore;
-            pStartStartNode = aStartPam.GetNode().StartOfSectionNode();
+            pStartPam->DeleteMark();
+            *pStartPam->GetPoint() = aBefore;
+            pStartStartNode = pStartPam->GetNode().StartOfSectionNode();
         }
         if (pEndStartNode->GetStartNodeType() == SwTableBoxStartNode)
         {
@@ -1597,8 +1604,8 @@ SwXText::convertToTextFrame(
             // if not - remove the additional paragraphs and throw
             if (bParaBeforeInserted)
             {
-                SwCursor aDelete(*aStartPam.GetPoint(), nullptr);
-                *aStartPam.GetPoint() = // park it because node is deleted
+                SwCursor aDelete(*pStartPam->GetPoint(), nullptr);
+                *pStartPam->GetPoint() = // park it because node is deleted
                     SwPosition(GetDoc()->GetNodes().GetEndOfContent());
                 aDelete.MovePara(GoCurrPara, fnParaStart);
                 aDelete.SetMark();
@@ -1619,20 +1626,20 @@ SwXText::convertToTextFrame(
         }
     }
 
-    // make a selection from aStartPam to a EndPam
+    // make a selection from pStartPam to pEndPam
     // If there is no content in the frame the shape is in
     // it gets deleted in the DelFullPara call below,
     // In this case insert a tmp text node ( we delete it later )
-    if ( aStartPam.Start()->nNode == pEndPam->Start()->nNode
-    && aStartPam.End()->nNode == pEndPam->End()->nNode )
+    if (pStartPam->Start()->nNode == pEndPam->Start()->nNode
+        && pStartPam->End()->nNode == pEndPam->End()->nNode)
     {
-        SwPosition aEnd(*aStartPam.End());
+        SwPosition aEnd(*pStartPam->End());
         bParaAfterInserted = GetDoc()->getIDocumentContentOperations().AppendTextNode( aEnd );
         pEndPam->DeleteMark();
         *pEndPam->GetPoint() = aEnd;
     }
-    aStartPam.SetMark();
-    *aStartPam.End() = *pEndPam->End();
+    pStartPam->SetMark();
+    *pStartPam->End() = *pEndPam->End();
     pEndPam.reset();
 
     // see if there are frames already anchored to this node
@@ -1646,8 +1653,8 @@ SwXText::convertToTextFrame(
         const SwFormatAnchor& rAnchor = pFrameFormat->GetAnchor();
         if ( !isGraphicNode(pFrameFormat) &&
                 (RndStdIds::FLY_AT_PARA == rAnchor.GetAnchorId() || RndStdIds::FLY_AT_CHAR == rAnchor.GetAnchorId()) &&
-                aStartPam.Start()->nNode.GetIndex() <= rAnchor.GetContentAnchor()->nNode.GetIndex() &&
-                aStartPam.End()->nNode.GetIndex() >= rAnchor.GetContentAnchor()->nNode.GetIndex())
+                pStartPam->Start()->nNode.GetIndex() <= rAnchor.GetContentAnchor()->nNode.GetIndex() &&
+                pStartPam->End()->nNode.GetIndex() >= rAnchor.GetContentAnchor()->nNode.GetIndex())
         {
             if (pFrameFormat->GetName().isEmpty())
             {
@@ -1663,7 +1670,6 @@ SwXText::convertToTextFrame(
     const uno::Reference<text::XTextFrame> xNewFrame(
             SwXTextFrame::CreateXTextFrame(*m_pImpl->m_pDoc, nullptr));
     SwXTextFrame& rNewFrame = dynamic_cast<SwXTextFrame&>(*xNewFrame);
-    rNewFrame.SetSelection( aStartPam );
     try
     {
         for (const beans::PropertyValue& rValue : rFrameProperties)
@@ -1674,19 +1680,19 @@ SwXText::convertToTextFrame(
         {   // has to be in a block to remove the SwIndexes before
             // DelFullPara is called
             const uno::Reference< text::XTextRange> xInsertTextRange =
-                new SwXTextRange(aStartPam, this);
-            aStartPam.DeleteMark(); // mark position node may be deleted!
-            rNewFrame.attach( xInsertTextRange );
+                new SwXTextRange(*pStartPam, this);
+            assert(rNewFrame.IsDescriptor());
+            rNewFrame.attachToRange(xInsertTextRange, pStartPam.get());
             rNewFrame.setName(m_pImpl->m_pDoc->GetUniqueFrameName());
         }
 
-        SwTextNode *const pTextNode(aStartPam.GetNode().GetTextNode());
+        SwTextNode *const pTextNode(pStartPam->GetNode().GetTextNode());
         assert(pTextNode);
         if (!pTextNode || !pTextNode->Len()) // don't remove if it contains text!
         {
             {   // has to be in a block to remove the SwIndexes before
                 // DelFullPara is called
-                SwPaM aMovePam( aStartPam.GetNode() );
+                SwPaM aMovePam( pStartPam->GetNode() );
                 if (aMovePam.Move( fnMoveForward, GoInContent ))
                 {
                     // move the anchor to the next paragraph
@@ -1710,7 +1716,7 @@ SwXText::convertToTextFrame(
                     }
                 }
             }
-            m_pImpl->m_pDoc->getIDocumentContentOperations().DelFullPara(aStartPam);
+            m_pImpl->m_pDoc->getIDocumentContentOperations().DelFullPara(*pStartPam);
         }
     }
     catch (const lang::IllegalArgumentException& rIllegal)
commit ca16def26fa3352edbb642b918b59de1b2fa7fca
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Dec 5 11:32:16 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat Dec 7 20:37:02 2019 +0100

    rename ScEditEngineDefaulter::SetText
    
    so its clear that it is not an override of baseclass EditEngine::SetText
    
    Change-Id: I85ee9c9b212fe9248fb7e5fcb1ec83679ffb633d
    Reviewed-on: https://gerrit.libreoffice.org/84553
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/inc/editutil.hxx b/sc/inc/editutil.hxx
index a3e4949ea9ba..f523ee646e8e 100644
--- a/sc/inc/editutil.hxx
+++ b/sc/inc/editutil.hxx
@@ -144,8 +144,8 @@ public:
                     /// Returns the stored defaults, used to find non-default character attributes
     const SfxItemSet& GetDefaults();
 
-                    /// Overwritten method to be able to apply defaults already set
-    void            SetText( const EditTextObject& rTextObject );
+                    /// SetText and apply defaults already set
+    void            SetTextCurrentDefaults( const EditTextObject& rTextObject );
                     /// Current defaults are not applied, new defaults are applied
     void            SetTextNewDefaults( const EditTextObject& rTextObject,
                         const SfxItemSet& rDefaults, bool bRememberCopy = true );
@@ -153,8 +153,8 @@ public:
     void            SetTextNewDefaults( const EditTextObject& rTextObject,
                         std::unique_ptr<SfxItemSet> pDefaults );
 
-                    /// Overwritten method to be able to apply defaults already set
-    void            SetText( const OUString& rText );
+                    /// SetText and apply defaults already set
+    void            SetTextCurrentDefaults( const OUString& rText );
                     /// Current defaults are not applied, new defaults are applied
     void            SetTextNewDefaults( const OUString& rText,
                         const SfxItemSet& rDefaults );
diff --git a/sc/qa/extras/scpdfexport.cxx b/sc/qa/extras/scpdfexport.cxx
index f6a7ea8bfbd0..ef15a814e703 100644
--- a/sc/qa/extras/scpdfexport.cxx
+++ b/sc/qa/extras/scpdfexport.cxx
@@ -243,7 +243,7 @@ void ScPDFExportTest::testExportRange_Tdf120161()
         // set "Text" to H1 cell with "DejaVuSans" font
         ScFieldEditEngine& rEE = rDoc.GetEditEngine();
         rEE.Clear();
-        rEE.SetText("Text");
+        rEE.SetTextCurrentDefaults("Text");
         setFont(rEE, 0, 4, "DejaVuSans"); // set font for first 4 chars
         rDoc.SetEditText(ScAddress(7, 0, 0), rEE.CreateTextObject());
     }
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index be4e1393aec4..d5607629dc70 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -1746,7 +1746,7 @@ void ScExportTest::testRichTextExportODS()
 
         // Insert an edit text cell.
         ScFieldEditEngine* pEE = &rDoc.GetEditEngine();
-        pEE->SetText("Bold and Italic");
+        pEE->SetTextCurrentDefaults("Bold and Italic");
         // Set the 'Bold' part bold.
         setAttribute(*pEE, 0, 0, 4, EE_CHAR_WEIGHT);
         // Set the 'Italic' part italic.
@@ -1774,7 +1774,7 @@ void ScExportTest::testRichTextExportODS()
 
         // Insert a multi-line content to B4.
         pEE->Clear();
-        pEE->SetText("One\nTwo\nThree");
+        pEE->SetTextCurrentDefaults("One\nTwo\nThree");
         rDoc2.SetEditText(ScAddress(1,3,0), pEE->CreateTextObject());
         pEditText = rDoc2.GetEditText(ScAddress(1,3,0));
         CPPUNIT_ASSERT_MESSAGE("Incorrect B4 value.", aCheckFunc.checkB4(pEditText));
@@ -1794,14 +1794,14 @@ void ScExportTest::testRichTextExportODS()
 
         // Insert a multi-line content to B5, but this time, set some empty paragraphs.
         pEE->Clear();
-        pEE->SetText("\nTwo\nThree\n\nFive\n");
+        pEE->SetTextCurrentDefaults("\nTwo\nThree\n\nFive\n");
         rDoc3.SetEditText(ScAddress(1,4,0), pEE->CreateTextObject());
         pEditText = rDoc3.GetEditText(ScAddress(1,4,0));
         CPPUNIT_ASSERT_MESSAGE("Incorrect B5 value.", aCheckFunc.checkB5(pEditText));
 
         // Insert a text with strikethrough in B6.
         pEE->Clear();
-        pEE->SetText("Strike Me");
+        pEE->SetTextCurrentDefaults("Strike Me");
         // Set the 'Strike' part strikethrough.
         setAttribute(*pEE, 0, 0, 6, EE_CHAR_STRIKEOUT);
         rDoc3.SetEditText(ScAddress(1,5,0), pEE->CreateTextObject());
@@ -1810,7 +1810,7 @@ void ScExportTest::testRichTextExportODS()
 
         // Insert a text with different font segments in B7.
         pEE->Clear();
-        pEE->SetText("Font1 and Font2");
+        pEE->SetTextCurrentDefaults("Font1 and Font2");
         setFont(*pEE, 0, 0, 5, "Courier");
         setFont(*pEE, 0, 10, 15, "Luxi Mono");
         rDoc3.SetEditText(ScAddress(1,6,0), pEE->CreateTextObject());
@@ -1819,7 +1819,7 @@ void ScExportTest::testRichTextExportODS()
 
         // Insert a text with overline and underline in B8.
         pEE->Clear();
-        pEE->SetText("Over and Under");
+        pEE->SetTextCurrentDefaults("Over and Under");
         setAttribute(*pEE, 0, 0, 4, EE_CHAR_OVERLINE);
         setAttribute(*pEE, 0, 9, 14, EE_CHAR_UNDERLINE);
         rDoc3.SetEditText(ScAddress(1,7,0), pEE->CreateTextObject());
@@ -1827,7 +1827,7 @@ void ScExportTest::testRichTextExportODS()
         CPPUNIT_ASSERT_MESSAGE("Incorrect B8 value.", aCheckFunc.checkB8(pEditText));
 
         pEE->Clear();
-        pEE->SetText("Sub and Super");
+        pEE->SetTextCurrentDefaults("Sub and Super");
         setEscapement(*pEE, 0, 0, 3, 32, 64);
         setEscapement(*pEE, 0, 8, 13, -32, 66);
         rDoc3.SetEditText(ScAddress(1,8,0), pEE->CreateTextObject());
@@ -1839,7 +1839,7 @@ void ScExportTest::testRichTextExportODS()
         // Set font color of B10 to blue.
         rDoc3.ApplyPattern(1, 9, 0, aCellFontColor);
         pEE->Clear();
-        pEE->SetText("BLUE AUTO");
+        pEE->SetTextCurrentDefaults("BLUE AUTO");
         // Set the color of the string "AUTO" to automatic color.
         setAttribute(*pEE, 0, 5, 9, EE_CHAR_COLOR, COL_AUTO);
         rDoc3.SetEditText(ScAddress(1, 9, 0), pEE->CreateTextObject());
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 5f5e79cb7933..e8c643f4d5ba 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -243,7 +243,7 @@ void Test::testSharedStringPool()
     // Now, compare string and edit text cells.
     m_pDoc->SetString(ScAddress(0,0,0), "Andy and Bruce"); // A1
     ScFieldEditEngine& rEE = m_pDoc->GetEditEngine();
-    rEE.SetText("Andy and Bruce");
+    rEE.SetTextCurrentDefaults("Andy and Bruce");
 
     ESelection aSel;
     aSel.nStartPara = aSel.nEndPara = 0;
@@ -277,7 +277,7 @@ void Test::testSharedStringPool()
     CPPUNIT_ASSERT_MESSAGE("Failed to get a valid string ID.", aSS2.isValid());
     CPPUNIT_ASSERT_EQUAL(aSS1.getData(), aSS2.getData());
 
-    rEE.SetText("ANDY and BRUCE");
+    rEE.SetTextCurrentDefaults("ANDY and BRUCE");
     m_pDoc->SetEditText(ScAddress(2,0,0), rEE.CreateTextObject()); // C1
     aSS2 = m_pDoc->GetSharedString(ScAddress(2,0,0));
     CPPUNIT_ASSERT_MESSAGE("Failed to get a valid string ID.", aSS2.isValid());
@@ -589,7 +589,7 @@ void Test::testSelectionFunction()
 
     // Insert edit text into D5.
     ScFieldEditEngine& rEE = m_pDoc->GetEditEngine();
-    rEE.SetText("Rich Text");
+    rEE.SetTextCurrentDefaults("Rich Text");
     m_pDoc->SetEditText(ScAddress(3,4,0), rEE.CreateTextObject());
 
     // Insert Another string into D6.
@@ -2017,11 +2017,11 @@ void Test::testSheetCopy()
 
     // Insert edit cells in B1:B3.
     ScFieldEditEngine& rEE = m_pDoc->GetEditEngine();
-    rEE.SetText("Edit 1");
+    rEE.SetTextCurrentDefaults("Edit 1");
     m_pDoc->SetEditText(ScAddress(1,0,0), rEE.CreateTextObject());
-    rEE.SetText("Edit 2");
+    rEE.SetTextCurrentDefaults("Edit 2");
     m_pDoc->SetEditText(ScAddress(1,1,0), rEE.CreateTextObject());
-    rEE.SetText("Edit 3");
+    rEE.SetTextCurrentDefaults("Edit 3");
     m_pDoc->SetEditText(ScAddress(1,2,0), rEE.CreateTextObject());
 
     SCROW nRow1, nRow2;
@@ -5872,7 +5872,7 @@ void Test::testEditTextIterator()
 
     {
         // Only set one edit cell.
-        rEditEngine.SetText("A2");
+        rEditEngine.SetTextCurrentDefaults("A2");
         m_pDoc->SetEditText(ScAddress(0,1,0), rEditEngine.CreateTextObject());
         sc::EditTextIterator aIter(*m_pDoc,0);
         const char* pChecks[] = { "A2", nullptr };
@@ -5881,11 +5881,11 @@ void Test::testEditTextIterator()
 
     {
         // Add a series of edit cells.
-        rEditEngine.SetText("A5");
+        rEditEngine.SetTextCurrentDefaults("A5");
         m_pDoc->SetEditText(ScAddress(0,4,0), rEditEngine.CreateTextObject());
-        rEditEngine.SetText("A6");
+        rEditEngine.SetTextCurrentDefaults("A6");
         m_pDoc->SetEditText(ScAddress(0,5,0), rEditEngine.CreateTextObject());
-        rEditEngine.SetText("A7");
+        rEditEngine.SetTextCurrentDefaults("A7");
         m_pDoc->SetEditText(ScAddress(0,6,0), rEditEngine.CreateTextObject());
         sc::EditTextIterator aIter(*m_pDoc,0);
         const char* pChecks[] = { "A2", "A5", "A6", "A7", nullptr };
@@ -5894,11 +5894,11 @@ void Test::testEditTextIterator()
 
     {
         // Add more edit cells to column C. Skip column B.
-        rEditEngine.SetText("C1");
+        rEditEngine.SetTextCurrentDefaults("C1");
         m_pDoc->SetEditText(ScAddress(2,0,0), rEditEngine.CreateTextObject());
-        rEditEngine.SetText("C3");
+        rEditEngine.SetTextCurrentDefaults("C3");
         m_pDoc->SetEditText(ScAddress(2,2,0), rEditEngine.CreateTextObject());
-        rEditEngine.SetText("C4");
+        rEditEngine.SetTextCurrentDefaults("C4");
         m_pDoc->SetEditText(ScAddress(2,3,0), rEditEngine.CreateTextObject());
         sc::EditTextIterator aIter(*m_pDoc,0);
         const char* pChecks[] = { "A2", "A5", "A6", "A7", "C1", "C3", "C4", nullptr };
diff --git a/sc/qa/unit/ucalc_column.cxx b/sc/qa/unit/ucalc_column.cxx
index a60ac250b58b..db096184f52b 100644
--- a/sc/qa/unit/ucalc_column.cxx
+++ b/sc/qa/unit/ucalc_column.cxx
@@ -27,7 +27,7 @@ void Test::testColumnFindEditCells()
     CPPUNIT_ASSERT_EQUAL_MESSAGE("There should be no edit cells.", SCROW(-1), nResRow);
 
     ScFieldEditEngine& rEE = m_pDoc->GetEditEngine();
-    rEE.SetText("Test");
+    rEE.SetTextCurrentDefaults("Test");
     m_pDoc->SetEditText(ScAddress(0,0,0), rEE.CreateTextObject());
     const EditTextObject* pObj = m_pDoc->GetEditText(ScAddress(0,0,0));
     CPPUNIT_ASSERT_MESSAGE("There should be an edit cell here.", pObj);
diff --git a/sc/qa/unit/ucalc_sharedformula.cxx b/sc/qa/unit/ucalc_sharedformula.cxx
index b67880171d63..45e4994481ed 100644
--- a/sc/qa/unit/ucalc_sharedformula.cxx
+++ b/sc/qa/unit/ucalc_sharedformula.cxx
@@ -186,7 +186,7 @@ void Test::testSharedFormulas()
 
     // Set edit text to B17. Now B18 should be non-shared.
     ScFieldEditEngine& rEditEngine = m_pDoc->GetEditEngine();
-    rEditEngine.SetText("Edit Text");
+    rEditEngine.SetTextCurrentDefaults("Edit Text");
     aPos.SetRow(16);
     m_pDoc->SetEditText(aPos, rEditEngine.CreateTextObject());
     CPPUNIT_ASSERT_EQUAL(CELLTYPE_EDIT, m_pDoc->GetCellType(aPos));
diff --git a/sc/qa/unit/ucalc_sort.cxx b/sc/qa/unit/ucalc_sort.cxx
index db1dbba29391..b611924da5b6 100644
--- a/sc/qa/unit/ucalc_sort.cxx
+++ b/sc/qa/unit/ucalc_sort.cxx
@@ -433,7 +433,7 @@ void Test::testSortWithStrings()
     m_pDoc->InsertTab(0, "Test");
 
     ScFieldEditEngine& rEE = m_pDoc->GetEditEngine();
-    rEE.SetText("Val1");
+    rEE.SetTextCurrentDefaults("Val1");
     m_pDoc->SetString(ScAddress(1,1,0), "Header");
     m_pDoc->SetString(ScAddress(1,2,0), "Val2");
     m_pDoc->SetEditText(ScAddress(1,3,0), rEE.CreateTextObject());
diff --git a/sc/source/core/data/cellvalue.cxx b/sc/source/core/data/cellvalue.cxx
index a860b359ee1d..77e2513bf160 100644
--- a/sc/source/core/data/cellvalue.cxx
+++ b/sc/source/core/data/cellvalue.cxx
@@ -375,14 +375,14 @@ void ScCellValue::assign(const ScCellValue& rOther, ScDocument& rDestDoc, ScClon
                 bool bNewControl = ((nControl & nSpellControl) != nSpellControl);
                 if (bNewControl)
                     rEngine.SetControlWord(nControl | nSpellControl);
-                rEngine.SetText(*rOther.mpEditText);
+                rEngine.SetTextCurrentDefaults(*rOther.mpEditText);
                 mpEditText = rEngine.CreateTextObject().release();
                 if (bNewControl)
                     rEngine.SetControlWord(nControl);
             }
             else
             {
-                rEngine.SetText(*rOther.mpEditText);
+                rEngine.SetTextCurrentDefaults(*rOther.mpEditText);
                 mpEditText = rEngine.CreateTextObject().release();
             }
         }
diff --git a/sc/source/core/data/clipcontext.cxx b/sc/source/core/data/clipcontext.cxx
index 056c5a005a5c..3c5ac04bbe5d 100644
--- a/sc/source/core/data/clipcontext.cxx
+++ b/sc/source/core/data/clipcontext.cxx
@@ -255,7 +255,7 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
                     // TODO : Add shared string support to the edit engine to
                     // make this process simpler.
                     ScFieldEditEngine& rEngine = mrDestDoc.GetEditEngine();
-                    rEngine.SetText(rSrcCell.mpFormula->GetString().getString());
+                    rEngine.SetTextCurrentDefaults(rSrcCell.mpFormula->GetString().getString());
                     std::unique_ptr<EditTextObject> pObj(rEngine.CreateTextObject());
                     pObj->NormalizeString(mrDestDoc.GetSharedStringPool());
                     rSrcCell.set(*pObj);
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index ad7a89d0a0f5..d196a7c0e5a1 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -1077,7 +1077,7 @@ public:
             mpEngine->SetControlWord(mpEngine->GetControlWord() | EEControlBits::ONLINESPELLING);
             mpDoc->ApplyAsianEditSettings(*mpEngine);
         }
-        mpEngine->SetText(*pObj);
+        mpEngine->SetTextCurrentDefaults(*pObj);
         sal_Int32 nParCount = mpEngine->GetParagraphCount();
         for (sal_Int32 nPar=0; nPar<nParCount; nPar++)
         {
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 18f505f45bd2..99954e8a0574 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -1303,7 +1303,7 @@ public:
                             {
                                 // Clone as an edit text object.
                                 ScFieldEditEngine& rEngine = mrDestCol.GetDoc()->GetEditEngine();
-                                rEngine.SetText(aStr.getString());
+                                rEngine.SetTextCurrentDefaults(aStr.getString());
                                 mrDestCol.SetEditText(maDestBlockPos, nSrcRow + mnRowOffset, rEngine.CreateTextObject());
                             }
                             else if (mpSharedStringPool)
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index a513bd064de7..44525f009b42 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -1272,9 +1272,9 @@ void ScDocument::TransliterateText( const ScMarkData& rMultiMark, Transliteratio
                     }
                     pEngine->SetDefaults( std::move(pDefaults) );
                     if (aCell.meType == CELLTYPE_STRING)
-                        pEngine->SetText(aCell.mpString->getString());
+                        pEngine->SetTextCurrentDefaults(aCell.mpString->getString());
                     else if (aCell.mpEditText)
-                        pEngine->SetText(*aCell.mpEditText);
+                        pEngine->SetTextCurrentDefaults(*aCell.mpEditText);
 
                     pEngine->ClearModifyFlag();
 
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index c4e6c06327ed..47f3eebfb1d3 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3402,7 +3402,7 @@ void ScDocument::SetEditText( const ScAddress& rPos, const OUString& rStr )
         return;
 
     ScFieldEditEngine& rEngine = GetEditEngine();
-    rEngine.SetText(rStr);
+    rEngine.SetTextCurrentDefaults(rStr);
     maTabs[rPos.Tab()]->SetEditText(rPos.Col(), rPos.Row(), rEngine.CreateTextObject());
 }
 
@@ -3423,7 +3423,7 @@ void ScDocument::SetTextCell( const ScAddress& rPos, const OUString& rStr )
     if (ScStringUtil::isMultiline(rStr))
     {
         ScFieldEditEngine& rEngine = GetEditEngine();
-        rEngine.SetText(rStr);
+        rEngine.SetTextCurrentDefaults(rStr);
         maTabs[rPos.Tab()]->SetEditText(rPos.Col(), rPos.Row(), rEngine.CreateTextObject());
     }
     else
diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx
index b81d17cb6ef0..754c83b24f66 100644
--- a/sc/source/core/data/postit.cxx
+++ b/sc/source/core/data/postit.cxx
@@ -916,7 +916,7 @@ OUString ScPostIt::GetText() const
     {
         OUStringBuffer aBuffer;
         ScNoteEditEngine& rEngine = mrDoc.GetNoteEngine();
-        rEngine.SetText(*pEditObj);
+        rEngine.SetTextCurrentDefaults(*pEditObj);
         sal_Int32 nParaCount = rEngine.GetParagraphCount();
         for( sal_Int32 nPara = 0; nPara < nParaCount; ++nPara )
         {
diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx
index 897dc19891d5..47382249bbcc 100644
--- a/sc/source/core/data/stlpool.cxx
+++ b/sc/source/core/data/stlpool.cxx
@@ -282,7 +282,7 @@ void ScStyleSheetPool::CreateStandardStyles()
     // Header:
     // [empty][\sheet\][empty]
 
-    pEdEngine->SetText(EMPTY_OUSTRING);
+    pEdEngine->SetTextCurrentDefaults(EMPTY_OUSTRING);
     pEdEngine->QuickInsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD), ESelection() );
     pTxtObj = pEdEngine->CreateTextObject();
     pHeaderItem->SetLeftArea  ( *pEmptyTxtObj );
@@ -294,7 +294,7 @@ void ScStyleSheetPool::CreateStandardStyles()
     // [empty][Page \STR_PAGE\][empty]
 
     aStr = SCSTR( STR_PAGE ) + " ";
-    pEdEngine->SetText( aStr );
+    pEdEngine->SetTextCurrentDefaults( aStr );
     nStrLen = aStr.getLength();
     pEdEngine->QuickInsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(0,nStrLen,0,nStrLen) );
     pTxtObj = pEdEngine->CreateTextObject();
@@ -341,14 +341,14 @@ void ScStyleSheetPool::CreateStandardStyles()
     // [\TABLE\ (\DATA\)][empty][\DATE\, \TIME\]
 
     aStr = " ()";
-    pEdEngine->SetText( aStr );
+    pEdEngine->SetTextCurrentDefaults( aStr );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxFileField(), EE_FEATURE_FIELD), ESelection(0,2,0,2) );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD), ESelection() );
     pTxtObj = pEdEngine->CreateTextObject();
     pHeaderItem->SetLeftArea( *pTxtObj );
     pHeaderItem->SetCenterArea( *pEmptyTxtObj );
     aStr = ", ";
-    pEdEngine->SetText( aStr );
+    pEdEngine->SetTextCurrentDefaults( aStr );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxTimeField(), EE_FEATURE_FIELD), ESelection(0,2,0,2) );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxDateField(Date( Date::SYSTEM ),SvxDateType::Var), EE_FEATURE_FIELD),
                                     ESelection() );
@@ -363,7 +363,7 @@ void ScStyleSheetPool::CreateStandardStyles()
     nStrLen = aStr.getLength();
     aStr += " / ";
     sal_Int32 nStrLen2 = aStr.getLength();
-    pEdEngine->SetText( aStr );
+    pEdEngine->SetTextCurrentDefaults( aStr );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxPagesField(), EE_FEATURE_FIELD), ESelection(0,nStrLen2,0,nStrLen2) );
     pEdEngine->QuickInsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(0,nStrLen,0,nStrLen) );
     pTxtObj = pEdEngine->CreateTextObject();
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 4d099866bf77..63eab0850af8 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -256,7 +256,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::Colum
         else if ( bMultiLine && aString.indexOf('\n') != -1 )
         {
             ScFieldEditEngine& rEngine = pDocument->GetEditEngine();
-            rEngine.SetText(aString);
+            rEngine.SetTextCurrentDefaults(aString);
             SetEditText(nCol, nRow, rEngine.CreateTextObject());
         }
         else
diff --git a/sc/source/core/tool/cellform.cxx b/sc/source/core/tool/cellform.cxx
index dbc81a8d3dce..1fe9b0e69ec7 100644
--- a/sc/source/core/tool/cellform.cxx
+++ b/sc/source/core/tool/cellform.cxx
@@ -165,7 +165,7 @@ OUString ScCellFormat::GetOutputString( ScDocument& rDoc, const ScAddress& rPos,
         if (pData)
         {
             ScFieldEditEngine& rEngine = rDoc.GetEditEngine();
-            rEngine.SetText(*pData);
+            rEngine.SetTextCurrentDefaults(*pData);
             aVal = rEngine.GetText();
         }
         //  also do not format EditCells as numbers
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx
index 386f474d4cd0..96470d3634b5 100644
--- a/sc/source/core/tool/editutil.cxx
+++ b/sc/source/core/tool/editutil.cxx
@@ -539,12 +539,12 @@ const SfxItemSet& ScEditEngineDefaulter::GetDefaults()
     return *pDefaults;
 }
 
-void ScEditEngineDefaulter::SetText( const EditTextObject& rTextObject )
+void ScEditEngineDefaulter::SetTextCurrentDefaults( const EditTextObject& rTextObject )
 {
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rTextObject );
+    SetText( rTextObject );
     if ( pDefaults )
         SetDefaults( *pDefaults, false );
     if ( bUpdateMode )
@@ -557,7 +557,7 @@ void ScEditEngineDefaulter::SetTextNewDefaults( const EditTextObject& rTextObjec
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rTextObject );
+    SetText( rTextObject );
     SetDefaults( rSet, bRememberCopy );
     if ( bUpdateMode )
         SetUpdateMode( true );
@@ -569,18 +569,18 @@ void ScEditEngineDefaulter::SetTextNewDefaults( const EditTextObject& rTextObjec
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rTextObject );
+    SetText( rTextObject );
     SetDefaults( std::move(pSet) );
     if ( bUpdateMode )
         SetUpdateMode( true );
 }
 
-void ScEditEngineDefaulter::SetText( const OUString& rText )
+void ScEditEngineDefaulter::SetTextCurrentDefaults( const OUString& rText )
 {
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rText );
+    SetText( rText );
     if ( pDefaults )
         SetDefaults( *pDefaults, false );
     if ( bUpdateMode )
@@ -593,7 +593,7 @@ void ScEditEngineDefaulter::SetTextNewDefaults( const OUString& rText,
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rText );
+    SetText( rText );
     SetDefaults( rSet );
     if ( bUpdateMode )
         SetUpdateMode( true );
@@ -605,7 +605,7 @@ void ScEditEngineDefaulter::SetTextNewDefaults( const OUString& rText,
     bool bUpdateMode = GetUpdateMode();
     if ( bUpdateMode )
         SetUpdateMode( false );
-    EditEngine::SetText( rText );
+    SetText( rText );
     SetDefaults( std::move(pSet) );
     if ( bUpdateMode )
         SetUpdateMode( true );
diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx
index e75958935d69..409893e7c68c 100644
--- a/sc/source/filter/excel/xehelper.cxx
+++ b/sc/source/filter/excel/xehelper.cxx
@@ -583,7 +583,7 @@ XclExpStringRef XclExpStringHelper::CreateCellString(
     rEE.SetDefaults( std::move(pEEItemSet) );      // edit engine takes ownership
 
     // create the string
-    rEE.SetText(rEditText);
+    rEE.SetTextCurrentDefaults(rEditText);
     xString = lclCreateFormattedString( rRoot, rEE, &rLinkHelper, nFlags, nMaxLen );
     rEE.SetUpdateMode( bOldUpdateMode );
 
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 298f612f2b1c..2ab9dc703875 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -178,12 +178,12 @@ void lclInsertUrl( XclImpRoot& rRoot, const OUString& rUrl, SCCOL nScCol, SCROW
             if( aCell.meType == CELLTYPE_EDIT )
             {
                 const EditTextObject* pEditObj = aCell.mpEditText;
-                rEE.SetText( *pEditObj );
+                rEE.SetTextCurrentDefaults( *pEditObj );
                 rEE.QuickInsertField( SvxFieldItem( aUrlField, EE_FEATURE_FIELD ), ESelection( 0, 0, EE_PARA_ALL, 0 ) );
             }
             else
             {
-                rEE.SetText( EMPTY_OUSTRING );
+                rEE.SetTextCurrentDefaults( EMPTY_OUSTRING );
                 rEE.QuickInsertField( SvxFieldItem( aUrlField, EE_FEATURE_FIELD ), ESelection() );
                 if( const ScPatternAttr* pPattern = rDoc.getDoc().GetPattern( aScPos.Col(), aScPos.Row(), nScTab ) )
                 {
diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx
index df62f997daa9..e2160048b597 100644
--- a/sc/source/filter/excel/xihelper.cxx
+++ b/sc/source/filter/excel/xihelper.cxx
@@ -153,7 +153,7 @@ std::unique_ptr<EditTextObject> lclCreateTextObject( const XclImpRoot& rRoot,
         const XclFormatRunVec& rFormats = rString.GetFormats();
 
         ScEditEngineDefaulter& rEE = rRoot.GetEditEngine();
-        rEE.SetText( rString.GetText() );
+        rEE.SetTextCurrentDefaults( rString.GetText() );
 
         SfxItemSet aItemSet( rEE.GetEmptyItemSet() );
         if( bFirstEscaped )
@@ -240,7 +240,7 @@ void XclImpStringHelper::SetToDocument(
         {
             // Multiline content.
             ScFieldEditEngine& rEngine = rDoc.getDoc().GetEditEngine();
-            rEngine.SetText(aStr);
+            rEngine.SetTextCurrentDefaults(aStr);
             rDoc.setEditCell(rPos, rEngine.CreateTextObject());
         }
         else
diff --git a/sc/source/filter/oox/richstring.cxx b/sc/source/filter/oox/richstring.cxx
index 4f2e937ffc3e..c9d9747b480d 100644
--- a/sc/source/filter/oox/richstring.cxx
+++ b/sc/source/filter/oox/richstring.cxx
@@ -403,7 +403,7 @@ std::unique_ptr<EditTextObject> RichString::convert( ScEditEngineDefaulter& rEE,
     // fdo#84370 - diving into editeng is not thread safe.
     SolarMutexGuard aGuard;
 
-    rEE.SetText( sString.makeStringAndClear() );
+    rEE.SetTextCurrentDefaults( sString.makeStringAndClear() );
 
     for( const auto& rxTextPortion : maTextPortions )
     {
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
index 59f1c9ab1e03..af23b64587f6 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -607,7 +607,7 @@ void ScXMLTableRowCellContext::PushParagraphEnd()
         {
             // Flush the cached first paragraph first.
             mpEditEngine->Clear();
-            mpEditEngine->SetText(*maFirstParagraph);
+            mpEditEngine->SetTextCurrentDefaults(*maFirstParagraph);
             maFirstParagraph.reset();
         }
         mpEditEngine->InsertParagraph(mpEditEngine->GetParagraphCount(), maParagraph.makeStringAndClear());
@@ -615,7 +615,7 @@ void ScXMLTableRowCellContext::PushParagraphEnd()
     else if (mbHasFormatRuns)
     {
         mpEditEngine->Clear();
-        mpEditEngine->SetText(maParagraph.makeStringAndClear());
+        mpEditEngine->SetTextCurrentDefaults(maParagraph.makeStringAndClear());
         mbEditEngineHasText = true;
     }
     else if (mnCurParagraph == 0)
diff --git a/sc/source/ui/Accessibility/AccessibleText.cxx b/sc/source/ui/Accessibility/AccessibleText.cxx
index 0c167403cac6..8cfc3a297979 100644
--- a/sc/source/ui/Accessibility/AccessibleText.cxx
+++ b/sc/source/ui/Accessibility/AccessibleText.cxx
@@ -1060,7 +1060,7 @@ SvxTextForwarder* ScAccessiblePreviewHeaderCellTextData::GetTextForwarder()
                 aSize = pWindow->PixelToLogic(aSize, pEditEngine->GetRefMapMode());
             pEditEngine->SetPaperSize(aSize);
         }
-        pEditEngine->SetText( maText );
+        pEditEngine->SetTextCurrentDefaults( maText );
     }
 
     bDataValid = true;
@@ -1179,7 +1179,7 @@ SvxTextForwarder* ScAccessibleHeaderTextData::GetTextForwarder()
         mpEditEngine->SetPaperSize(aSize);
     }
     if (mpEditObj)
-        mpEditEngine->SetText(*mpEditObj);
+        mpEditEngine->SetTextCurrentDefaults(*mpEditObj);
 
     mbDataValid = true;
     return mpForwarder.get();
@@ -1278,7 +1278,7 @@ SvxTextForwarder* ScAccessibleNoteTextData::GetTextForwarder()
                 aSize = pWindow->PixelToLogic(aSize, mpEditEngine->GetRefMapMode());
             mpEditEngine->SetPaperSize(aSize);
         }
-        mpEditEngine->SetText( msText );
+        mpEditEngine->SetTextCurrentDefaults( msText );
     }
 
     mbDataValid = true;
diff --git a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
index a27598441330..4ac9ee4d2f76 100644
--- a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
+++ b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
@@ -210,7 +210,7 @@ void AddressWalkerWriter::writeString(const char* aCharArray)
 void AddressWalkerWriter::writeBoldString(const OUString& aString)
 {
     ScFieldEditEngine& rEngine = mpDocument->GetEditEngine();
-    rEngine.SetText(aString);
+    rEngine.SetTextCurrentDefaults(aString);
     SfxItemSet aItemSet = rEngine.GetEmptyItemSet();
     SvxWeightItem aWeight(WEIGHT_BOLD, EE_CHAR_WEIGHT);
     aItemSet.Put(aWeight);
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index e8c8ebd0c669..9e9008f5c111 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2332,7 +2332,7 @@ bool ScInputHandler::StartTable( sal_Unicode cTyped, bool bFromCommand, bool bIn
             OUString aStr;
             if (bTextValid)
             {
-                mpEditEngine->SetText(aCurrentText);
+                mpEditEngine->SetTextCurrentDefaults(aCurrentText);
                 aStr = aCurrentText;
                 bTextValid = false;
                 aCurrentText.clear();
@@ -2343,7 +2343,7 @@ bool ScInputHandler::StartTable( sal_Unicode cTyped, bool bFromCommand, bool bIn
             if (aStr.startsWith("{=") && aStr.endsWith("}") )  // Matrix formula?
             {
                 aStr = aStr.copy(1, aStr.getLength() -2);
-                mpEditEngine->SetText(aStr);
+                mpEditEngine->SetTextCurrentDefaults(aStr);
                 if ( pInputWin )
                     pInputWin->SetTextString(aStr);
             }
@@ -2711,7 +2711,7 @@ void ScInputHandler::SetMode( ScInputMode eNewMode, const OUString* pInitText, S
 
         if (pInitText)
         {
-            mpEditEngine->SetText(*pInitText);
+            mpEditEngine->SetTextCurrentDefaults(*pInitText);
             bModified = true;
         }
 
@@ -3195,7 +3195,7 @@ void ScInputHandler::CancelHandler()
         pExecuteSh->StopEditShell();
 
     aCursorPos.Set(pExecuteSh->GetViewData().GetDocument()->MaxCol()+1,0,0); // Invalid flag
-    mpEditEngine->SetText(OUString());
+    mpEditEngine->SetTextCurrentDefaults(OUString());
 
     if ( !pLastState && pExecuteSh )
         pExecuteSh->UpdateInputHandler( true );  // Update status again
@@ -3881,7 +3881,7 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState,
                 {
                     if (pData)
                     {
-                        mpEditEngine->SetText( *pData );
+                        mpEditEngine->SetTextCurrentDefaults( *pData );
                         if (pInputWin)
                             aString = ScEditUtil::GetMultilineString(*mpEditEngine);
                         else
@@ -4027,7 +4027,7 @@ IMPL_LINK_NOARG( ScInputHandler, DelayTimer, Timer*, void )
             bInOwnChange = true; // disable ModifyHdl (reset below)
 
             pActiveViewSh = nullptr;
-            mpEditEngine->SetText( EMPTY_OUSTRING );
+            mpEditEngine->SetTextCurrentDefaults( EMPTY_OUSTRING );
             if ( pInputWin )
             {
                 pInputWin->SetPosString( EMPTY_OUSTRING );
@@ -4059,7 +4059,7 @@ void ScInputHandler::InputChanged( const EditView* pView, bool bFromNotify )
 
     bool bNewView = DataChanging();                     //FIXME: Is this at all possible?
     aCurrentText = pView->GetEditEngine()->GetText();   // Also remember the string
-    mpEditEngine->SetText( aCurrentText );
+    mpEditEngine->SetTextCurrentDefaults( aCurrentText );
     DataChanged( bFromTopNotify );
     bTextValid = true; // Is set to false in DataChanged
 
@@ -4109,7 +4109,7 @@ bool ScInputHandler::GetTextAndFields( ScEditEngineDefaulter& rDestEngine )
         {
             // Copy content
             std::unique_ptr<EditTextObject> pObj = mpEditEngine->CreateTextObject();
-            rDestEngine.SetText(*pObj);
+            rDestEngine.SetTextCurrentDefaults(*pObj);
             pObj.reset();
 
             // Delete attributes
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index d3c254ddd518..8ea768eca7e1 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1389,7 +1389,7 @@ void ScTextWnd::InitEditEngine()
     if (bFilled && mpEditEngine->GetText() == aString)
         Invalidate(); // Repaint for (filled) Field
     else
-        mpEditEngine->SetText(aString); // At least the right text then
+        mpEditEngine->SetTextCurrentDefaults(aString); // At least the right text then
 
     mpEditView = std::make_unique<EditView>(mpEditEngine.get(), this);
     mpEditView->SetInsertMode(bIsInsertMode);
@@ -1847,7 +1847,7 @@ void ScTextWnd::SetTextString( const OUString& rNewString )
         }
         else
         {
-            mpEditEngine->SetText(rNewString);
+            mpEditEngine->SetTextCurrentDefaults(rNewString);
         }
 
         aString = rNewString;
diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index 88f80d77f272..dd11e67c0f42 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -312,7 +312,7 @@ bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUSt
             if (aCell.meType == CELLTYPE_EDIT)
             {
                 const EditTextObject* pObj = aCell.mpEditText;
-                aEngine.SetText(*pObj);
+                aEngine.SetTextCurrentDefaults(*pObj);
             }
             else
             {
@@ -322,7 +322,7 @@ bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUSt
                 Color* pColor;
                 ScCellFormat::GetString(aCell, nNumFmt, aText, &pColor, *pFormatter, m_pDoc.get());
                 if (!aText.isEmpty())
-                    aEngine.SetText(aText);
+                    aEngine.SetTextCurrentDefaults(aText);
             }
 
             bOK = SetObject( &aEngine,
@@ -900,7 +900,7 @@ void ScTransferObj::StripRefs( ScDocument* pDoc,
                 if ( pFCell->IsMultilineResult() )
                 {
                     ScFieldEditEngine& rEngine = pDestDoc->GetEditEngine();
-                    rEngine.SetText(aStr);
+                    rEngine.SetTextCurrentDefaults(aStr);
                     pDestDoc->SetEditText(ScAddress(nCol,nRow,nDestTab), rEngine.CreateTextObject());
                 }
                 else
diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx
index 5d3500097e24..f4e4698fee1b 100644
--- a/sc/source/ui/dbgui/csvgrid.cxx
+++ b/sc/source/ui/dbgui/csvgrid.cxx
@@ -1123,7 +1123,7 @@ void ScCsvGrid::ImplDrawCellText( const Point& rPos, const OUString& rText )
         if( !aToken.isEmpty() )
         {
             sal_Int32 nX = rPos.X() + GetCharWidth() * nBeginIx;
-            mpEditEngine->SetText( aToken );
+            mpEditEngine->SetTextCurrentDefaults( aToken );
             mpEditEngine->Draw( mpBackgrDev.get(), Point( nX, rPos.Y() ) );
         }
     }
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index caad14cffb01..330b5b45e481 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -966,7 +966,7 @@ bool ScDocFunc::SetStringOrEditCell( const ScAddress& rPos, const OUString& rStr
     if (ScStringUtil::isMultiline(rStr))
     {
         ScFieldEditEngine& rEngine = rDoc.GetEditEngine();
-        rEngine.SetText(rStr);
+        rEngine.SetTextCurrentDefaults(rStr);
         std::unique_ptr<EditTextObject> pEditText(rEngine.CreateTextObject());
         return SetEditCell(rPos, *pEditText, bInteraction);
     }
diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx
index dae548543955..0dc7570d6d54 100644
--- a/sc/source/ui/docshell/docsh8.cxx
+++ b/sc/source/ui/docshell/docsh8.cxx
@@ -710,7 +710,7 @@ void lcl_getLongVarCharEditString( OUString& rString,
     if (!rCell.mpEditText)
         return;
 
-    rEditEngine.SetText(*rCell.mpEditText);
+    rEditEngine.SetTextCurrentDefaults(*rCell.mpEditText);
     rString = rEditEngine.GetText( LINEEND_CRLF );
 }
 
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 317fc2e0d642..5b115f5bd276 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -998,7 +998,7 @@ static bool lcl_PutString(
             if(ScStringUtil::isMultiline(rStr))
             {
                 ScFieldEditEngine& rEngine = pDoc->GetEditEngine();
-                rEngine.SetText(rStr);
+                rEngine.SetTextCurrentDefaults(rStr);
                 rDocImport.setEditCell(ScAddress(nCol, nRow, nTab), rEngine.CreateTextObject());
                 return true;
             }
@@ -1246,7 +1246,7 @@ static bool lcl_PutString(
     {
         bMultiLine = true;
         ScFieldEditEngine& rEngine = pDoc->GetEditEngine();
-        rEngine.SetText(rStr);
+        rEngine.SetTextCurrentDefaults(rStr);
         if ( bUseDocImport )
             rDocImport.setEditCell(ScAddress(nCol, nRow, nTab), rEngine.CreateTextObject());
         else
diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx
index f0fb8dab9071..af74df3d718e 100644
--- a/sc/source/ui/pagedlg/scuitphfedit.cxx
+++ b/sc/source/ui/pagedlg/scuitphfedit.cxx
@@ -523,7 +523,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
         {
             ClearTextAreas();
             OUString aPageEntry( m_xFtPage->get_label() + " " );
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             m_xWndCenter->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) );
             if(!bTravelling)
                 m_xWndCenter->GrabFocus();
@@ -535,7 +535,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
             ClearTextAreas();
             ESelection aSel(0,0,0,0);
             OUString aPageEntry( m_xFtPage->get_label() + " ");
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             aSel.nEndPos = aPageEntry.getLength();
             m_xWndCenter->GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
             ++aSel.nEndPos;
@@ -562,11 +562,11 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
         {
             ClearTextAreas();
             OUString aConfidentialEntry(aUserOpt.GetCompany() + " " + m_xFtConfidential->get_label());
-            m_xWndLeft->GetEditEngine()->SetText(aConfidentialEntry);
+            m_xWndLeft->GetEditEngine()->SetTextCurrentDefaults(aConfidentialEntry);
             m_xWndCenter->InsertField( SvxFieldItem(SvxDateField(Date( Date::SYSTEM ),SvxDateType::Var), EE_FEATURE_FIELD) );
 
             OUString aPageEntry( m_xFtPage->get_label() + " ");
-            m_xWndRight->GetEditEngine()->SetText(aPageEntry);
+            m_xWndRight->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             m_xWndRight->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) );
             if(!bTravelling)
                 m_xWndRight->GrabFocus();
@@ -604,7 +604,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
             ClearTextAreas();
             ESelection aSel(0,0,0,0);
             OUString aPageEntry( m_xFtPage->get_label() + " " );
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             aSel.nEndPos = aPageEntry.getLength();
             m_xWndCenter->GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
             ++aSel.nEndPos;
@@ -625,7 +625,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
             ClearTextAreas();
             ESelection aSel(0,0,0,0);
             OUString aPageEntry( m_xFtPage->get_label() + " " );
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             aSel.nEndPos = aPageEntry.getLength();
             m_xWndCenter->GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
             ++aSel.nEndPos;
@@ -644,7 +644,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
         {
             ClearTextAreas();
             OUString aPageEntry( m_xFtPage->get_label() + " " );
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             m_xWndCenter->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) );
             m_xWndRight->InsertField( SvxFieldItem( SvxExtFileField(
                 EMPTY_OUSTRING, SvxFileType::Var, SvxFileFormat::PathFull ), EE_FEATURE_FIELD ) );
@@ -657,10 +657,10 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
         {
             ClearTextAreas();
             OUString aUserNameEntry(aUserOpt.GetFirstName() + " " + aUserOpt.GetLastName());
-            m_xWndLeft->GetEditEngine()->SetText(aUserNameEntry);
+            m_xWndLeft->GetEditEngine()->SetTextCurrentDefaults(aUserNameEntry);
             OUString aPageEntry( m_xFtPage->get_label() + " ");
             //aPageEntry += " ";
-            m_xWndCenter->GetEditEngine()->SetText(aPageEntry);
+            m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             m_xWndCenter->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) );
             m_xWndRight->InsertField( SvxFieldItem(SvxDateField(Date( Date::SYSTEM ),SvxDateType::Var), EE_FEATURE_FIELD) );
             if(!bTravelling)
@@ -672,10 +672,10 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
         {
             ClearTextAreas();
             OUString aCreatedByEntry( m_xFtCreatedBy->get_label() + " " + aUserOpt.GetFirstName() + " " + aUserOpt.GetLastName());
-            m_xWndLeft->GetEditEngine()->SetText(aCreatedByEntry);
+            m_xWndLeft->GetEditEngine()->SetTextCurrentDefaults(aCreatedByEntry);
             m_xWndCenter->InsertField( SvxFieldItem(SvxDateField(Date( Date::SYSTEM ),SvxDateType::Var), EE_FEATURE_FIELD) );
             OUString aPageEntry( m_xFtPage->get_label() + " " );
-            m_xWndRight->GetEditEngine()->SetText(aPageEntry);
+            m_xWndRight->GetEditEngine()->SetTextCurrentDefaults(aPageEntry);
             m_xWndRight->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) );
             if(!bTravelling)
                 m_xWndRight->GrabFocus();
@@ -689,11 +689,11 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
 
 void ScHFEditPage::ClearTextAreas()
 {
-    m_xWndLeft->GetEditEngine()->SetText(EMPTY_OUSTRING);
+    m_xWndLeft->GetEditEngine()->SetTextCurrentDefaults(EMPTY_OUSTRING);
     m_xWndLeft->Invalidate();
-    m_xWndCenter->GetEditEngine()->SetText(EMPTY_OUSTRING);
+    m_xWndCenter->GetEditEngine()->SetTextCurrentDefaults(EMPTY_OUSTRING);
     m_xWndCenter->Invalidate();
-    m_xWndRight->GetEditEngine()->SetText(EMPTY_OUSTRING);
+    m_xWndRight->GetEditEngine()->SetTextCurrentDefaults(EMPTY_OUSTRING);
     m_xWndRight->Invalidate();
 }
 
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index 43a76c361c32..16954e793fbc 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -160,7 +160,7 @@ void ScEditWindow::SetFont( const ScPatternAttr& rPattern )
 
 void ScEditWindow::SetText( const EditTextObject& rTextObject )
 {
-    GetEditEngine()->SetText( rTextObject );
+    GetEditEngine()->SetTextCurrentDefaults(rTextObject);
 }
 
 void ScEditWindow::InsertField( const SvxFieldItem& rFld )
diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx
index 9f7772ce07cf..4e8add1ee461 100644
--- a/sc/source/ui/undo/undoblk3.cxx
+++ b/sc/source/ui/undo/undoblk3.cxx
@@ -1025,7 +1025,7 @@ void ScUndoReplace::Undo()
         if ( aUndoStr.indexOf('\n') != -1 )
         {
             ScFieldEditEngine& rEngine = rDoc.GetEditEngine();
-            rEngine.SetText(aUndoStr);
+            rEngine.SetTextCurrentDefaults(aUndoStr);
             rDoc.SetEditText(aCursorPos, rEngine.CreateTextObject());
         }
         else
diff --git a/sc/source/ui/unoobj/editsrc.cxx b/sc/source/ui/unoobj/editsrc.cxx
index 07199891dd9f..4c0969130b95 100644
--- a/sc/source/ui/unoobj/editsrc.cxx
+++ b/sc/source/ui/unoobj/editsrc.cxx
@@ -154,7 +154,7 @@ SvxTextForwarder* ScAnnotationEditSource::GetTextForwarder()
     if ( pDocShell )
         if ( ScPostIt* pNote = pDocShell->GetDocument().GetNote(aCellPos) )
             if ( const EditTextObject* pEditObj = pNote->GetEditTextObject() )
-                pEditEngine->SetText( *pEditObj );      // incl. breaks (line, etc.)
+                pEditEngine->SetTextCurrentDefaults( *pEditObj );      // incl. breaks (line, etc.)
 
     bDataValid = true;
     return pForwarder.get();
diff --git a/sc/source/ui/unoobj/fielduno.cxx b/sc/source/ui/unoobj/fielduno.cxx
index 6de682a5ce14..fcb986514ef8 100644
--- a/sc/source/ui/unoobj/fielduno.cxx
+++ b/sc/source/ui/unoobj/fielduno.cxx
@@ -199,7 +199,7 @@ ScUnoEditEngine::ScUnoEditEngine(ScEditEngineDefaulter* pSource)
     , nFieldIndex(0)
 {
     std::unique_ptr<EditTextObject> pData = pSource->CreateTextObject();
-    SetText( *pData );
+    SetTextCurrentDefaults( *pData );
 }
 
 OUString ScUnoEditEngine::CalcFieldValue( const SvxFieldItem& rField,
diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx
index 914a398d82f2..61882737b8b6 100644
--- a/sc/source/ui/unoobj/textuno.cxx
+++ b/sc/source/ui/unoobj/textuno.cxx
@@ -223,7 +223,7 @@ SvxTextForwarder* ScHeaderFooterTextData::GetTextForwarder()
         return pForwarder.get();
 
     if (mpTextObj)
-        pEditEngine->SetText(*mpTextObj);
+        pEditEngine->SetTextCurrentDefaults(*mpTextObj);
 
     bDataValid = true;
     return pForwarder.get();
@@ -342,7 +342,7 @@ OUString SAL_CALL ScHeaderFooterTextObj::getString()
         FillDummyFieldData( aData );
         aEditEngine.SetData( aData );
 
-        aEditEngine.SetText(*pData);
+        aEditEngine.SetTextCurrentDefaults(*pData);
         aRet = ScEditUtil::GetSpaceDelimitedString( aEditEngine );
     }
     return aRet;
@@ -354,7 +354,7 @@ void SAL_CALL ScHeaderFooterTextObj::setString( const OUString& aText )
 
     // for pure text, no font info is needed in pool defaults
     ScHeaderEditEngine aEditEngine(EditEngine::CreatePool());
-    aEditEngine.SetText( aText );
+    aEditEngine.SetTextCurrentDefaults( aText );
     aTextData.UpdateData(aEditEngine);
 }
 
@@ -741,7 +741,7 @@ ScEditEngineTextObj::~ScEditEngineTextObj() throw()
 
 void ScEditEngineTextObj::SetText( const EditTextObject& rTextObject )
 {
-    GetEditEngine()->SetText( rTextObject );
+    GetEditEngine()->SetTextCurrentDefaults( rTextObject );
 
     ESelection aSel;
     ::GetSelection( aSel, GetEditSource()->GetTextForwarder() );
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 9a4a3a18a491..46c47bd46ecd 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5256,7 +5256,7 @@ bool ScGridWindow::GetEditUrl( const Point& rPos,
     if (aCell.meType == CELLTYPE_EDIT)
     {
         if (aCell.mpEditText)
-            pEngine->SetText(*aCell.mpEditText);
+            pEngine->SetTextCurrentDefaults(*aCell.mpEditText);
     }
     else  // Not an Edit cell and is a formula cell with 'Hyperlink'
           // function if we have no URL, otherwise it could be a formula
@@ -5278,7 +5278,7 @@ bool ScGridWindow::GetEditUrl( const Point& rPos,
         }
 
         if (pTextObj)
-            pEngine->SetText(*pTextObj);
+            pEngine->SetTextCurrentDefaults(*pTextObj);
     }
 
     long nStartX = aLogicEdit.Left();
@@ -5360,9 +5360,9 @@ bool ScGridWindow::IsSpellErrorAtPos( const Point& rPos, SCCOL nCol1, SCROW nRow
     pEngine->SetPaperSize(aPaperSize);
 
     if (aCell.meType == CELLTYPE_EDIT)
-        pEngine->SetText(*aCell.mpEditText);
+        pEngine->SetTextCurrentDefaults(*aCell.mpEditText);
     else
-        pEngine->SetText(aCell.mpString->getString());
+        pEngine->SetTextCurrentDefaults(aCell.mpString->getString());
 
     long nTextWidth = static_cast<long>(pEngine->CalcTextWidth());
 
@@ -5586,9 +5586,9 @@ bool ScGridWindow::ContinueOnlineSpelling()
             pEngine->SetDefaultItem(SvxLanguageItem(nCellLang, EE_CHAR_LANGUAGE));
 
             if (eType == CELLTYPE_STRING)
-                pEngine->SetText(pCell->mpString->getString());
+                pEngine->SetTextCurrentDefaults(pCell->mpString->getString());
             else
-                pEngine->SetText(*pCell->mpEditText);
+                pEngine->SetTextCurrentDefaults(*pCell->mpEditText);
 
             aStatus.mbModified = false;
             pEngine->CompleteOnlineSpelling();
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 823fa87d7d4e..b60977f95025 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -1515,7 +1515,7 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
                                     pEditEng->SetDefaultItem( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT ) );
                                     pEditEng->SetDefaultItem( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT_CJK ) );
                                     pEditEng->SetDefaultItem( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT_CTL ) );
-                                    pEditEng->SetText( aThisPageStr );
+                                    pEditEng->SetTextCurrentDefaults( aThisPageStr );
                                     Size aSize100( pEditEng->CalcTextWidth(), pEditEng->GetTextHeight() );
 
                                     //  40% of width or 60% of height
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 41a9760cc450..b46c3d1ff642 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -2341,7 +2341,7 @@ bool ScOutputData::DrawEditParam::readCellContent(
         const EditTextObject* pData = maCell.mpEditText;
         if (pData)
         {
-            mpEngine->SetText(*pData);
+            mpEngine->SetTextCurrentDefaults(*pData);
 
             if ( mbBreak && !mbAsianVertical && pData->HasField() )
             {
@@ -2370,7 +2370,7 @@ bool ScOutputData::DrawEditParam::readCellContent(
                                  bShowNullValues,
                                  bShowFormulas);
 
-        mpEngine->SetText(aString);
+        mpEngine->SetTextCurrentDefaults(aString);
         if ( pColor && !bSyntaxMode && !( bUseStyleColor && bForceAutoColor ) )
             lcl_SetEditColor( *mpEngine, *pColor );
     }
@@ -2786,7 +2786,7 @@ private:
 long ScOutputData::SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
                                              long& rNeededPixel, long nAddWidthPixels )
 {
-    rParam.mpEngine->SetText( rSetString );
+    rParam.mpEngine->SetTextCurrentDefaults( rSetString );
     long nEngineWidth = static_cast<long>( rParam.mpEngine->CalcTextWidth() );
     if ( rParam.mbPixelToLogic )
         rNeededPixel = mpRefDevice->LogicToPixel( Size( nEngineWidth, 0 ) ).Width();
@@ -4677,7 +4677,7 @@ void ScOutputData::DrawRotated(bool bPixelToLogic)
                             if (aCell.meType == CELLTYPE_EDIT)
                             {
                                 if (aCell.mpEditText)
-                                    pEngine->SetText(*aCell.mpEditText);
+                                    pEngine->SetTextCurrentDefaults(*aCell.mpEditText);
                                 else
                                 {
                                     OSL_FAIL("pData == 0");
@@ -4696,7 +4696,7 @@ void ScOutputData::DrawRotated(bool bPixelToLogic)
                                                          mbShowNullValues,
                                                          mbShowFormulas);
 
-                                pEngine->SetText(aString);
+                                pEngine->SetTextCurrentDefaults(aString);
                                 if ( pColor && !mbSyntaxMode && !( mbUseStyleColor && mbForceAutoColor ) )
                                     lcl_SetEditColor( *pEngine, *pColor );
                             }
diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx
index 03755bc8c48d..cf0add6a8b18 100644
--- a/sc/source/ui/view/preview.cxx
+++ b/sc/source/ui/view/preview.cxx
@@ -518,7 +518,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
             pEditEng->SetDefaultItem(SvxFontHeightItem(nHeight, 100, EE_CHAR_FONTHEIGHT_CJK));
             pEditEng->SetDefaultItem(SvxFontHeightItem(nHeight, 100, EE_CHAR_FONTHEIGHT_CTL));
 
-            pEditEng->SetText(aEmptyMsg);
+            pEditEng->SetTextCurrentDefaults(aEmptyMsg);
 
             Point aCenter(
                 (aWinEnd.X() - pEditEng->CalcTextWidth())/2,
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index 18be8420c7ee..2b3760fbeeac 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -1906,7 +1906,7 @@ long ScPrintFunc::DoNotes( long nNoteStart, bool bDoPrint, ScPreviewLocationData
             if( const ScPostIt* pNote = pDoc->GetNote( rPos ) )
             {
                 if(const EditTextObject *pEditText = pNote->GetEditTextObject())
-                    pEditEngine->SetText(*pEditText);
+                    pEditEngine->SetTextCurrentDefaults(*pEditText);
                 long nTextHeight = pEditEngine->GetTextHeight();
                 if ( nPosY + nTextHeight < aPageRect.Bottom() )
                 {
@@ -1917,7 +1917,7 @@ long ScPrintFunc::DoNotes( long nNoteStart, bool bDoPrint, ScPreviewLocationData
                         OUString aMarkStr(rPos.Format(ScRefFlags::VALID, pDoc, pDoc->GetAddressConvention()) + ":");
 
                         //  cell position also via EditEngine, for correct positioning
-                        pEditEngine->SetText(aMarkStr);
+                        pEditEngine->SetTextCurrentDefaults(aMarkStr);
                         pEditEngine->Draw( pDev, Point( aPageRect.Left(), nPosY ) );
                     }
 
diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx
index 4e48cf7698cb..21a459259f66 100644
--- a/sc/source/ui/view/spelldialog.cxx
+++ b/sc/source/ui/view/spelldialog.cxx
@@ -247,7 +247,7 @@ void ScSpellDialogChildWindow::Init()
     mxEngine->SetControlWord( EEControlBits::USECHARATTRIBS );
     mxEngine->EnableUndo( false );
     mxEngine->SetPaperSize( aRect.GetSize() );
-    mxEngine->SetText( EMPTY_OUSTRING );
+    mxEngine->SetTextCurrentDefaults( EMPTY_OUSTRING );
     mxEngine->ClearModifyFlag();
 
     mbNeedNextObj = true;
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index cc08e761e601..5035cd31a858 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -258,17 +258,17 @@ void ScConversionEngineBase::FillFromCell( SCCOL nCol, SCROW nRow, SCTAB nTab )
             Color* pColor;
             ScCellFormat::GetString(aCell, nNumFmt, aText, &pColor, *pFormatter, &mrDoc);
 
-            SetText(aText);
+            SetTextCurrentDefaults(aText);
         }
         break;
         case CELLTYPE_EDIT:
         {
             const EditTextObject* pNewEditObj = aCell.mpEditText;
-            SetText(*pNewEditObj);
+            SetTextCurrentDefaults(*pNewEditObj);
         }
         break;
         default:
-            SetText(EMPTY_OUSTRING);
+            SetTextCurrentDefaults(EMPTY_OUSTRING);
     }
 }
 
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 0b3166bedef4..e31e2f006ceb 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -860,7 +860,7 @@ void ScViewFunc::EnterBlock( const OUString& rString, const EditTextObject* pDat
     {
         const ScPatternAttr* pOldPattern = pDoc->GetPattern( nCol, nRow, nTab );
         ScTabEditEngine aEngine( *pOldPattern, pDoc->GetEnginePool(), pDoc );
-        aEngine.SetText(*pData);
+        aEngine.SetTextCurrentDefaults(*pData);
 
         ScEditAttrTester aTester( &aEngine );
         if (!aTester.NeedsObject())
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index 0778c2b5a710..135b621e6c4f 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -373,9 +373,9 @@ void ScViewFunc::DoThesaurus()
     }
 
     if (aOldText.meType == CELLTYPE_EDIT)
-        pThesaurusEngine->SetText(*aOldText.mpEditText);
+        pThesaurusEngine->SetTextCurrentDefaults(*aOldText.mpEditText);
     else
-        pThesaurusEngine->SetText(aOldText.getString(&rDoc));
+        pThesaurusEngine->SetTextCurrentDefaults(aOldText.getString(&rDoc));
 
     pEditView = GetViewData().GetEditView(GetViewData().GetActivePart());
     if (pEditSel)
@@ -532,7 +532,7 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam )
     pEngine->SetControlWord( EEControlBits::USECHARATTRIBS );
     pEngine->EnableUndo( false );
     pEngine->SetPaperSize( aRect.GetSize() );
-    pEngine->SetText( EMPTY_OUSTRING );
+    pEngine->SetTextCurrentDefaults( EMPTY_OUSTRING );
 
     // *** do the conversion *** ----------------------------------------------
 
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index eb0f1935333b..344a43a644a9 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -654,7 +654,7 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab,
 
         const ScPatternAttr* pOldPattern = rDoc.GetPattern( nCol, nRow, nTab );
         ScTabEditEngine aEngine( *pOldPattern, rDoc.GetEnginePool(), &rDoc );
-        aEngine.SetText(rData);
+        aEngine.SetTextCurrentDefaults(rData);
 
         if (bTestSimple)                    // test, if simple string without attribute
         {


More information about the Libreoffice-commits mailing list