editeng/source/editeng/editview.cxx           |   13 +++++--------
 editeng/source/editeng/impedit.cxx            |   10 +++++-----
 editeng/source/editeng/impedit.hxx            |    2 +-
 editeng/source/outliner/outlvw.cxx            |    2 +-
 forms/source/richtext/richtextimplcontrol.cxx |    2 +-
 include/editeng/editview.hxx                  |    6 +++---
 sc/source/ui/app/inputhdl.cxx                 |    8 ++++----
 sc/source/ui/app/inputwin.cxx                 |    4 ++--
 sc/source/ui/app/uiitems.cxx                  |    4 ++--
 sc/source/ui/docshell/docsh3.cxx              |    4 ++--
 sc/source/ui/inc/docsh.hxx                    |    2 +-
 sc/source/ui/inc/tabview.hxx                  |    2 +-
 sc/source/ui/inc/uiitems.hxx                  |    6 +++---
 sc/source/ui/inc/viewdata.hxx                 |    2 +-
 sc/source/ui/view/gridwin.cxx                 |    2 +-
 sc/source/ui/view/spelldialog.cxx             |    2 +-
 sc/source/ui/view/spelleng.cxx                |    2 +-
 sc/source/ui/view/tabview3.cxx                |    6 +++---
 sc/source/ui/view/viewdata.cxx                |   24 ++++++++++++------------
 sc/source/ui/view/viewfun4.cxx                |    6 +++---
 starmath/source/edit.cxx                      |    2 +-
 svx/source/dialog/weldeditview.cxx            |    2 +-
 22 files changed, 55 insertions(+), 58 deletions(-)

New commits:
commit 7d0a028bc266e56d3e1f8ce4a84fc6f930dc0661
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Mon May 19 09:54:55 2025 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Mon May 19 14:08:15 2025 +0200

    an EditEngine always exists
    
    Change-Id: I08aea62e3355f202b723cd0a30870334321af3d6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185517
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Tested-by: Jenkins

diff --git a/editeng/source/editeng/editview.cxx 
b/editeng/source/editeng/editview.cxx
index db0ea865a726..253eea7d7f43 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -152,10 +152,9 @@ EditViewCallbacks::~EditViewCallbacks()
 {
 }
 
-EditView::EditView(EditEngine* pEditEngine, vcl::Window* pWindow)
-    : mpImpEditView(new ImpEditView(this, pEditEngine, pWindow))
+EditView::EditView(EditEngine& rEditEngine, vcl::Window* pWindow)
+    : mpImpEditView(new ImpEditView(this, rEditEngine, pWindow))
 {
-    assert(pEditEngine);
     getImpl().mbReadOnly = getImpl().mbReadOnly || 
SfxViewShell::IsCurrentLokViewReadOnly();
 }
 
@@ -407,11 +406,9 @@ void EditView::Paint( const tools::Rectangle& rRect, 
OutputDevice* pTargetDevice
     getImpEditEngine().Paint(&getImpl(), rRect, pTargetDevice);
 }
 
-void EditView::setEditEngine(EditEngine* pEditEngine)
+void EditView::setEditEngine(EditEngine& rEditEngine)
 {
-    assert(pEditEngine);
-
-    getImpl().mpEditEngine = pEditEngine;
+    getImpl().mpEditEngine = &rEditEngine;
     EditSelection aStartSel( getEditEngine().GetEditDoc().GetStartPaM() );
     getImpl().SetEditSelection( aStartSel );
 }
@@ -717,7 +714,7 @@ ErrCode EditView::Read( SvStream& rInput, EETextFormat 
eFormat, SvKeyValueIterat
 
 OString EditView::GetSimpleHtml() const
 {
-    return getImpl().mpEditEngine->mpImpEditEngine->GetSimpleHtml();
+    return getImpl().getEditEngine().mpImpEditEngine->GetSimpleHtml();
 }
 
 void EditView::Cut()
diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 80a27b7952e5..6288c594e4e1 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -178,11 +178,11 @@ Point LOKSpecialPositioning::GetRefPoint() const
 
 //  class ImpEditView
 
-ImpEditView::ImpEditView(EditView* pView, EditEngine* pEditEngine, 
vcl::Window* pWindow)
+ImpEditView::ImpEditView(EditView* pView, EditEngine& rEditEngine, 
vcl::Window* pWindow)
     : mpEditView(pView)
     , mpViewShell(nullptr)
     , mpOtherShell(nullptr)
-    , mpEditEngine(pEditEngine)
+    , mpEditEngine(&rEditEngine)
     , mpOutputWindow(pWindow)
     , mnInvalidateMore(1)
     , mnControl(EVControlBits::AUTOSCROLL | EVControlBits::ENABLEPASTE)
@@ -192,7 +192,7 @@ ImpEditView::ImpEditView(EditView* pView, EditEngine* 
pEditEngine, vcl::Window*
     , mbReadOnly(false)
     , mbClickedInSelection(false)
     , mbActiveDragAndDropListener(false)
-    , maOutputArea(Point(), mpEditEngine->GetPaperSize())
+    , maOutputArea(Point(), rEditEngine.GetPaperSize())
     , meSelectionMode(EESelectionMode::Std)
     , meAnchorMode(EEAnchorMode::TopLeft)
     , mpEditViewCallbacks(nullptr)
@@ -200,8 +200,8 @@ ImpEditView::ImpEditView(EditView* pView, EditEngine* 
pEditEngine, vcl::Window*
     , mbSuppressLOKMessages(false)
     , mbNegativeX(false)
 {
-    maEditSelection.Min() = mpEditEngine->GetEditDoc().GetStartPaM();
-    maEditSelection.Max() = mpEditEngine->GetEditDoc().GetEndPaM();
+    maEditSelection.Min() = rEditEngine.GetEditDoc().GetStartPaM();
+    maEditSelection.Max() = rEditEngine.GetEditDoc().GetEndPaM();
 
     SelectionChanged();
 }
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index cd0eda37b82f..e91e2f4a5191 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -348,7 +348,7 @@ protected:
     tools::Rectangle ImplGetEditCursor(EditPaM const& rPaM, CursorFlags 
aShowCursorFlags, sal_Int32& nTextPortionStart, ParaPortion const& 
rParaPortion) const;
 
 public:
-    ImpEditView(EditView* pView, EditEngine* pEditEngine, vcl::Window* 
pWindow);
+    ImpEditView(EditView* pView, EditEngine& rEditEngine, vcl::Window* 
pWindow);
     virtual ~ImpEditView() override;
 
     EditView* GetEditViewPtr() { return mpEditView; }
diff --git a/editeng/source/outliner/outlvw.cxx 
b/editeng/source/outliner/outlvw.cxx
index 80b15c89b225..3d9bf3c690ba 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -53,7 +53,7 @@ using namespace ::com::sun::star;
 OutlinerView::OutlinerView( Outliner* pOut, vcl::Window* pWin )
 {
     pOwner                      = pOut;
-    pEditView.reset( new EditView( pOut->pEditEngine.get(), pWin ) );
+    pEditView.reset( new EditView( *pOut->pEditEngine, pWin ) );
 }
 
 OutlinerView::~OutlinerView()
diff --git a/forms/source/richtext/richtextimplcontrol.cxx 
b/forms/source/richtext/richtextimplcontrol.cxx
index 6c2845369e2b..6125bd20e188 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -63,7 +63,7 @@ namespace frm
         m_pAntiImpl->SetMapMode( aRefDeviceMapMode );
         m_pViewport->SetMapMode( aRefDeviceMapMode );
 
-        m_pView.reset(new EditView( m_pEngine, m_pViewport ));
+        m_pView.reset(new EditView(*m_pEngine, m_pViewport));
         m_pEngine->InsertView( m_pView.get() );
         m_pViewport->setView( *m_pView );
 
diff --git a/include/editeng/editview.hxx b/include/editeng/editview.hxx
index fba929491352..ad8087c26e65 100644
--- a/include/editeng/editview.hxx
+++ b/include/editeng/editview.hxx
@@ -171,7 +171,7 @@ public:
     ImpEditView& getImpl() const { return *mpImpEditView; }
     SAL_DLLPRIVATE ImpEditEngine& getImpEditEngine() const;
 
-    void setEditEngine(EditEngine* pEditEngine);
+    void setEditEngine(EditEngine& rEditEngine);
     EditEngine& getEditEngine() const;
 
 private:
@@ -185,8 +185,8 @@ private:
     SAL_DLLPRIVATE sal_Int32       countFieldsOffsetSum(sal_Int32 nPara, 
sal_Int32 nPo, bool bCanOverflow) const;
 
 public:
-                    EditView( EditEngine* pEng, vcl::Window* pWindow );
-                    ~EditView();
+    EditView(EditEngine& rEng, vcl::Window* pWindow);
+    ~EditView();
 
     // set EditViewCallbacks for external handling of Repaints/Visualization
     void setEditViewCallbacks(EditViewCallbacks* pEditViewCallbacks);
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index e1be37a897d7..ea59d4e44105 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -3050,7 +3050,7 @@ void ScInputHandler::SetMode( ScInputMode eNewMode, const 
OUString* pInitText, S
         {
             if (StartTable(0, false, eMode == SC_INPUT_TABLE, pTopEngine))
             {
-                pActiveViewSh->GetViewData().GetDocShell()->PostEditView( 
mpEditEngine.get(), aCursorPos );
+                
pActiveViewSh->GetViewData().GetDocShell()->PostEditView(*mpEditEngine, 
aCursorPos);
             }
         }
 
@@ -3966,7 +3966,7 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, 
bool bStartEdit /* = false
             if (bNewView )                          // Create anew
             {
                 if (pActiveViewSh)
-                    pActiveViewSh->GetViewData().GetDocShell()->PostEditView( 
mpEditEngine.get(), aCursorPos );
+                    
pActiveViewSh->GetViewData().GetDocShell()->PostEditView(*mpEditEngine, 
aCursorPos);
                 UpdateActiveView();
                 if (eMode==SC_INPUT_NONE)
                     if (pTableView || pTopView)
@@ -4200,7 +4200,7 @@ void ScInputHandler::InputCommand( const CommandEvent& 
rCEvt )
         {
             if (bNewView)                           // create new edit view
             {
-                pActiveViewSh->GetViewData().GetDocShell()->PostEditView( 
mpEditEngine.get(), aCursorPos );
+                
pActiveViewSh->GetViewData().GetDocShell()->PostEditView(*mpEditEngine, 
aCursorPos);
                 UpdateActiveView();
                 if (eMode==SC_INPUT_NONE)
                     if (pTableView || pTopView)
@@ -4563,7 +4563,7 @@ void ScInputHandler::InputChanged( const EditView* pView, 
bool bFromNotify )
     {
         ScViewData& rViewData = pActiveViewSh->GetViewData();
         if ( bNewView )
-            rViewData.GetDocShell()->PostEditView( mpEditEngine.get(), 
aCursorPos );
+            rViewData.GetDocShell()->PostEditView(*mpEditEngine, aCursorPos);
 
         rViewData.EditGrowY();
         rViewData.EditGrowX();
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index d170f1fdb821..4dc18d8f9e47 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1578,7 +1578,7 @@ void ScTextWnd::InitEditEngine()
     else
         
static_cast<ScEditEngineDefaulter*>(m_xEditEngine.get())->SetTextCurrentDefaults(aString);
 // At least the right text then
 
-    m_xEditView = std::make_unique<EditView>(m_xEditEngine.get(), nullptr);
+    m_xEditView = std::make_unique<EditView>(*m_xEditEngine, nullptr);
 
     // we get cursor, selection etc. messages from the VCL/window layer
     // otherwise these are injected into the document causing confusion.
@@ -2125,7 +2125,7 @@ void ScTextWnd::MakeDialogEditView()
     static_cast<ScEditEngineDefaulter*>(m_xEditEngine.get())->SetDefaults( 
std::move(aSet) );
     m_xEditEngine->SetUpdateLayout( bPrevUpdateLayout );
 
-    m_xEditView = std::make_unique<EditView>(m_xEditEngine.get(), nullptr);
+    m_xEditView = std::make_unique<EditView>(*m_xEditEngine, nullptr);
     m_xEditView->setEditViewCallbacks(this);
 
     const StyleSettings& rStyleSettings = 
Application::GetSettings().GetStyleSettings();
diff --git a/sc/source/ui/app/uiitems.cxx b/sc/source/ui/app/uiitems.cxx
index 03968d863c18..a547ae9b5b45 100644
--- a/sc/source/ui/app/uiitems.cxx
+++ b/sc/source/ui/app/uiitems.cxx
@@ -108,9 +108,9 @@ ScIndexHint::~ScIndexHint()
 /**
  * Create new EditView for Cursorposition
  */
-ScEditViewHint::ScEditViewHint( ScEditEngineDefaulter* pEngine, const 
ScAddress& rCurPos ) :
+ScEditViewHint::ScEditViewHint( ScEditEngineDefaulter& rEngine, const 
ScAddress& rCurPos ) :
     SfxHint(SfxHintId::ScEditView),
-    pEditEngine( pEngine ),
+    rEditEngine( rEngine ),
     aCursorPos( rCurPos )
 {
 }
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 900b14fd995d..701240a7b553 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -76,7 +76,7 @@
 
 //          Redraw - Notifications
 
-void ScDocShell::PostEditView( ScEditEngineDefaulter* pEditEngine, const 
ScAddress& rCursorPos )
+void ScDocShell::PostEditView( ScEditEngineDefaulter& rEditEngine, const 
ScAddress& rCursorPos )
 {
 //  Broadcast( ScEditViewHint( pEditEngine, rCursorPos ) );
 
@@ -85,7 +85,7 @@ void ScDocShell::PostEditView( ScEditEngineDefaulter* 
pEditEngine, const ScAddre
     ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
     if (pViewSh && pViewSh->GetViewData().GetDocShell() == this)
     {
-        ScEditViewHint aHint( pEditEngine, rCursorPos );
+        ScEditViewHint aHint(rEditEngine, rCursorPos);
         pViewSh->Notify( *this, aHint );
     }
 }
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 6c909028205c..01bfcefa4514 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -313,7 +313,7 @@ public:
      */
     void            CheckConfigOptions();
 
-    void            PostEditView( ScEditEngineDefaulter* pEditEngine, const 
ScAddress& rCursorPos );
+    void            PostEditView(ScEditEngineDefaulter& rEditEngine, const 
ScAddress& rCursorPos);
 
     tools::Long     GetTwipWidthHint(const ScAddress& rPos);
 
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index 008abf80b1c9..a90096bc6799 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -527,7 +527,7 @@ public:
     void            OnLibreOfficeKitTabChanged();
     void            AddWindowToForeignEditView(SfxViewShell* pViewShell, 
ScSplitPos eWhich);
     void            RemoveWindowFromForeignEditView(SfxViewShell* pViewShell, 
ScSplitPos eWhich);
-    void            MakeEditView( ScEditEngineDefaulter* pEngine, SCCOL nCol, 
SCROW nRow );
+    void            MakeEditView( ScEditEngineDefaulter& rEngine, SCCOL nCol, 
SCROW nRow );
     void            KillEditView( bool bNoPaint );
     void            UpdateEditView();
     void            RefeshTextEditOverlay();
diff --git a/sc/source/ui/inc/uiitems.hxx b/sc/source/ui/inc/uiitems.hxx
index c14b2be92c61..02ff4a13e42c 100644
--- a/sc/source/ui/inc/uiitems.hxx
+++ b/sc/source/ui/inc/uiitems.hxx
@@ -95,18 +95,18 @@ public:
 
 class ScEditViewHint final : public SfxHint
 {
-    ScEditEngineDefaulter*  pEditEngine;
+    ScEditEngineDefaulter&  rEditEngine;
     ScAddress                   aCursorPos;
 
 public:
                     ScEditViewHint() = delete;
-                    ScEditViewHint( ScEditEngineDefaulter* pEngine, const 
ScAddress& rCurPos );
+                    ScEditViewHint(ScEditEngineDefaulter& rEngine, const 
ScAddress& rCurPos);
                     virtual ~ScEditViewHint() override;
 
     SCCOL           GetCol() const      { return aCursorPos.Col(); }
     SCROW           GetRow() const      { return aCursorPos.Row(); }
     SCTAB           GetTab() const      { return aCursorPos.Tab(); }
-    ScEditEngineDefaulter*  GetEngine() const   { return pEditEngine; }
+    ScEditEngineDefaulter&  GetEngine() const   { return rEditEngine; }
 };
 
 class ScIndexHint : public SfxHint
diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx
index 12ecc42b061f..ead20715b29b 100644
--- a/sc/source/ui/inc/viewdata.hxx
+++ b/sc/source/ui/inc/viewdata.hxx
@@ -582,7 +582,7 @@ public:
     void            KillEditView();
     void            ResetEditView();
     void            SetEditEngine( ScSplitPos eWhich,
-                                    ScEditEngineDefaulter* pNewEngine,
+                                    ScEditEngineDefaulter& rNewEngine,
                                     vcl::Window* pWin, SCCOL nNewX, SCROW 
nNewY );
     void            GetEditView( ScSplitPos eWhich, EditView*& rViewPtr, 
SCCOL& rCol, SCROW& rRow );
     bool            HasEditView( ScSplitPos eWhich ) const
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 49a170da267f..b0bca4f2b47c 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -6002,7 +6002,7 @@ bool ScGridWindow::GetEditUrl(const Point& rPos, 
OUString* pName, OUString* pUrl
     Point aLogicClick = PixelToLogic(rPos,aEditMode);
     if ( aLogicEdit.Contains(aLogicClick) )
     {
-        EditView aTempView(pEngine.get(), this);
+        EditView aTempView(*pEngine, this);
         aTempView.SetOutputArea( aLogicEdit );
 
         bool bRet;
diff --git a/sc/source/ui/view/spelldialog.cxx 
b/sc/source/ui/view/spelldialog.cxx
index 8beba2e2d291..c5679193ee66 100644
--- a/sc/source/ui/view/spelldialog.cxx
+++ b/sc/source/ui/view/spelldialog.cxx
@@ -248,7 +248,7 @@ void ScSpellDialogChildWindow::Init()
         mpDoc->GetEnginePool(), *mpViewData, mxUndoDoc.get(), mxRedoDoc.get(), 
LinguMgr::GetSpellChecker() ) );
     mxEngine->SetRefDevice( mpViewData->GetActiveWin()->GetOutDev() );
 
-    mpViewShell->MakeEditView( mxEngine.get(), nCol, nRow );
+    mpViewShell->MakeEditView(*mxEngine, nCol, nRow);
     EditView* pEditView = mpViewData->GetEditView( mpViewData->GetActivePart() 
);
     mpViewData->SetSpellingView( pEditView );
     tools::Rectangle aRect( Point( 0, 0 ), Point( 0, 0 ) );
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index f883f17e5611..0bf140d1109f 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -239,7 +239,7 @@ bool ScConversionEngineBase::FindNextConversionCell()
     {
         pViewShell->AlignToCursor( nNewCol, nNewRow, SC_FOLLOW_JUMP );
         pViewShell->SetCursor( nNewCol, nNewRow, true );
-        mrViewData.GetView()->MakeEditView( this, nNewCol, nNewRow );
+        mrViewData.GetView()->MakeEditView(*this, nNewCol, nNewRow);
         EditView* pEditView = mrViewData.GetSpellingView();
         // maSelState.GetEditSelection() returns (0,0) if not in edit mode -> 
ok
         pEditView->SetSelection( maSelState.GetEditSelection() );
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index 726180915de8..e3c0dab69685 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2546,7 +2546,7 @@ void ScTabView::RefeshTextEditOverlay()
     }
 }
 
-void ScTabView::MakeEditView( ScEditEngineDefaulter* pEngine, SCCOL nCol, 
SCROW nRow )
+void ScTabView::MakeEditView( ScEditEngineDefaulter& rEngine, SCCOL nCol, 
SCROW nRow )
 {
     DrawDeselectAll();
 
@@ -2592,7 +2592,7 @@ void ScTabView::MakeEditView( ScEditEngineDefaulter* 
pEngine, SCCOL nCol, SCROW
                     pScGridWindow->UpdateEditViewPos();
                 }
 
-                aViewData.SetEditEngine(aScSplitPos, pEngine, pScGridWindow, 
nCol,
+                aViewData.SetEditEngine(aScSplitPos, rEngine, pScGridWindow, 
nCol,
                                         nRow);
 
                 // get OverlayManager and initialize TextEditOnOverlay for it
@@ -2640,7 +2640,7 @@ void ScTabView::UpdateEditView()
             tools::Long nY = GetViewData().GetCurYForTab(nRefTabNo);
 
             aViewData.SetEditEngine(eCurrent,
-                
static_cast<ScEditEngineDefaulter*>(&pEditView->getEditEngine()),
+                
static_cast<ScEditEngineDefaulter&>(pEditView->getEditEngine()),
                 pGridWin[i], nX, nY );
             if (eCurrent == eActive)
                 pEditView->ShowCursor( false );
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index b0ab3251bd1f..2d14b6b6d35b 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1553,7 +1553,7 @@ void notifyCellCursorAt(const ScTabViewShell* pViewShell, 
SCCOL nCol, SCROW nRow
 }
 
 void ScViewData::SetEditEngine( ScSplitPos eWhich,
-                                ScEditEngineDefaulter* pNewEngine,
+                                ScEditEngineDefaulter& rNewEngine,
                                 vcl::Window* pWin, SCCOL nNewX, SCROW nNewY )
 {
     bool bLayoutRTL = mrDoc.IsLayoutRTL(nTabNo);
@@ -1575,7 +1575,7 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
         else
         {
             lcl_LOKRemoveWindow(GetViewShell(), eWhich);
-            pEditView[eWhich]->setEditEngine(pNewEngine);
+            pEditView[eWhich]->setEditEngine(rNewEngine);
         }
 
         if (pEditView[eWhich]->GetWindow() != pWin)
@@ -1587,7 +1587,7 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
     }
     else
     {
-        pEditView[eWhich].reset(new EditView(pNewEngine, pWin));
+        pEditView[eWhich].reset(new EditView(rNewEngine, pWin));
 
         if (bLOKActive)
         {
@@ -1616,8 +1616,8 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
 
     // if view is gone then during IdleFormat sometimes a cursor is drawn
 
-    EEControlBits nEC = pNewEngine->GetControlWord();
-    pNewEngine->SetControlWord(nEC & ~EEControlBits::DOIDLEFORMAT);
+    EEControlBits nEC = rNewEngine.GetControlWord();
+    rNewEngine.SetControlWord(nEC & ~EEControlBits::DOIDLEFORMAT);
 
     EVControlBits nVC = pEditView[eWhich]->GetControlWord();
     pEditView[eWhich]->SetControlWord(nVC & ~EVControlBits::AUTOSCROLL);
@@ -1635,7 +1635,7 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
     bool bBreak = ( eJust == SvxCellHorJustify::Block ) ||
                     pPattern->GetItem(ATTR_LINEBREAK).GetValue();
 
-    bool bAsianVertical = pNewEngine->IsEffectivelyVertical();     // set by 
InputHandler
+    bool bAsianVertical = rNewEngine.IsEffectivelyVertical();     // set by 
InputHandler
 
     tools::Rectangle aPixRect = ScEditUtil(mrDoc, nNewX, nNewY, nTabNo, 
GetScrPos(nNewX, nNewY, eWhich),
                                         pWin->GetOutDev(), 
nPPTX,nPPTY,GetZoomX(),GetZoomY() ).
@@ -1793,12 +1793,12 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
             }
         }
 
-        pNewEngine->SetPaperSize( aPaperSize );
+        rNewEngine.SetPaperSize( aPaperSize );
         if (bLOKPrintTwips)
-            pNewEngine->SetLOKSpecialPaperSize(aPaperSizePTwips);
+            rNewEngine.SetLOKSpecialPaperSize(aPaperSizePTwips);
 
         // sichtbarer Ausschnitt
-        Size aPaper = pNewEngine->GetPaperSize();
+        Size aPaper = rNewEngine.GetPaperSize();
         tools::Rectangle aVis = pEditView[eWhich]->GetVisArea();
         tools::Rectangle aVisPTwips;
         if (bLOKPrintTwips)
@@ -1841,9 +1841,9 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
             pEditView[eWhich]->SetLOKSpecialVisArea(aVisPTwips);
         //  UpdateMode has been disabled in ScInputHandler::StartTable
         //  must be enabled before EditGrowY (GetTextHeight)
-        pNewEngine->SetUpdateLayout( true );
+        rNewEngine.SetUpdateLayout( true );
 
-        pNewEngine->SetStatusEventHdl( LINK( this, ScViewData, EditEngineHdl ) 
);
+        rNewEngine.SetStatusEventHdl( LINK( this, ScViewData, EditEngineHdl ) 
);
 
         EditGrowY( true );      // adjust to existing text content
         EditGrowX();
@@ -1856,7 +1856,7 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
                                                     // here bEditActive needs 
to be set already
                                                     // (due to Map-Mode during 
Paint)
     if (!bWasThere)
-        pNewEngine->InsertView(pEditView[eWhich].get());
+        rNewEngine.InsertView(pEditView[eWhich].get());
 
     //      background color of the cell
     Color aBackCol = pPattern->GetItem(ATTR_BACKGROUND).GetColor();
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index 6d73359f238e..30144ed38997 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -97,7 +97,7 @@ void ScViewFunc::PasteRTF( SCCOL nStartCol, SCROW nStartRow,
         {
             pEngine->SetPaperSize(Size(100000,100000));
             ScopedVclPtrInstance< vcl::Window > aWin( pActWin );
-            EditView aEditView( &*pEngine, aWin.get() );
+            EditView aEditView(*pEngine, aWin.get());
             aEditView.SetOutputArea(tools::Rectangle(0,0,100000,100000));
 
             // same method now for clipboard or drag&drop
@@ -361,7 +361,7 @@ void ScViewFunc::DoThesaurus()
     pThesaurusEngine->SetEditTextObjectPool( rDoc.GetEditPool() );
     pThesaurusEngine->SetRefDevice(GetViewData().GetActiveWin()->GetOutDev());
     pThesaurusEngine->SetSpeller(xSpeller);
-    MakeEditView(pThesaurusEngine.get(), nCol, nRow );
+    MakeEditView(*pThesaurusEngine, nCol, nRow);
     const ScPatternAttr* pPattern = rDoc.GetPattern(nCol, nRow, nTab);
     if (pPattern)
     {
@@ -520,7 +520,7 @@ void ScViewFunc::DoSheetConversion( const 
ScConversionParam& rConvParam )
 
     assert(pEngine && "all cases result in pEngine set");
 
-    MakeEditView( pEngine.get(), nCol, nRow );
+    MakeEditView(*pEngine, nCol, nRow);
     pEngine->SetRefDevice( rViewData.GetActiveWin()->GetOutDev() );
                                         // simulate dummy cell:
     pEditView = rViewData.GetEditView( rViewData.GetActivePart() );
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index 3c9de5058eda..d67400d1c5ab 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -112,7 +112,7 @@ void SmEditTextWindow::SetDrawingArea(weld::DrawingArea* 
pDrawingArea)
 
     EditEngine* pEditEngine = GetEditEngine();
 
-    m_xEditView.reset(new EditView(pEditEngine, nullptr));
+    m_xEditView.reset(new EditView(*pEditEngine, nullptr));
     m_xEditView->setEditViewCallbacks(this);
 
     pEditEngine->InsertView(m_xEditView.get());
diff --git a/svx/source/dialog/weldeditview.cxx 
b/svx/source/dialog/weldeditview.cxx
index 399245547284..91efe3381202 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -1558,7 +1558,7 @@ void WeldEditView::SetDrawingArea(weld::DrawingArea* 
pDrawingArea)
 
     m_xEditEngine->SetControlWord(m_xEditEngine->GetControlWord() | 
EEControlBits::MARKFIELDS);
 
-    m_xEditView.reset(new EditView(m_xEditEngine.get(), nullptr));
+    m_xEditView.reset(new EditView(*m_xEditEngine, nullptr));
     m_xEditView->setEditViewCallbacks(this);
     m_xEditView->SetOutputArea(tools::Rectangle(Point(0, 0), aOutputSize));
 

Reply via email to