sc/source/ui/inc/drawview.hxx  |    4 
 sc/source/ui/view/drawvie3.cxx |   27 ++----
 sc/source/ui/view/drawvie4.cxx |   19 ++--
 sc/source/ui/view/drawview.cxx |  170 +++++++++++++++++------------------------
 sc/source/ui/view/tabview5.cxx |    2 
 5 files changed, 95 insertions(+), 127 deletions(-)

New commits:
commit f98d81f008e11fd2786597d82126a6287353c714
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Tue Apr 29 22:50:20 2025 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Apr 30 01:01:55 2025 +0200

    ScDrawView: pass ScViewData by ref
    
    Change-Id: I499c44ebc3f3eaf5310788dbf110b8a00d8a8035
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184799
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/source/ui/inc/drawview.hxx b/sc/source/ui/inc/drawview.hxx
index fb7ec43c4948..a43fa39d2e69 100644
--- a/sc/source/ui/inc/drawview.hxx
+++ b/sc/source/ui/inc/drawview.hxx
@@ -31,7 +31,7 @@ class ScDrawObjData;
 
 class ScDrawView final : public FmFormView
 {
-    ScViewData*             pViewData;
+    ScViewData&             rViewData;
     VclPtr<OutputDevice>    pDev;                   //! needed ?
     ScDocument&             rDoc;
     SCTAB                   nTab;
@@ -56,7 +56,7 @@ class ScDrawView final : public FmFormView
 public:
     ScDrawView(
         OutputDevice* pOut,
-        ScViewData* pData);
+        ScViewData& rData);
 
     virtual ~ScDrawView() override;
 
diff --git a/sc/source/ui/view/drawvie3.cxx b/sc/source/ui/view/drawvie3.cxx
index f5fba7aa5587..3300809e2c2e 100644
--- a/sc/source/ui/view/drawvie3.cxx
+++ b/sc/source/ui/view/drawvie3.cxx
@@ -41,12 +41,12 @@
 
 ScDrawView::ScDrawView(
     OutputDevice* pOut,
-    ScViewData* pData )
-:   FmFormView(*pData->GetDocument().GetDrawLayer(), pOut),
-    pViewData( pData ),
+    ScViewData& rData )
+:   FmFormView(*rData.GetDocument().GetDrawLayer(), pOut),
+    rViewData( rData ),
     pDev( pOut ),
-    rDoc( pData->GetDocument() ),
-    nTab( pData->GetTabNo() ),
+    rDoc( rData.GetDocument() ),
+    nTab( rData.GetTabNo() ),
     pDropMarkObj( nullptr ),
     bInConstruct( true )
 {
@@ -79,8 +79,7 @@ void ScDrawView::SetPageAnchored()
     }
     EndUndo();
 
-    if ( pViewData )
-        pViewData->GetDocShell()->SetDrawModified();
+    rViewData.GetDocShell()->SetDrawModified();
 
     // Remove the anchor object.
     maHdlList.RemoveAllByKind(SdrHdlKind::Anchor);
@@ -104,13 +103,10 @@ void ScDrawView::SetCellAnchored(bool bResizeWithCell)
     }
     EndUndo();
 
-    if ( pViewData )
-    {
-        pViewData->GetDocShell()->SetDrawModified();
+    rViewData.GetDocShell()->SetDrawModified();
 
-        // Set the anchor object.
-        AddCustomHdl();
-    }
+    // Set the anchor object.
+    AddCustomHdl();
 }
 
 ScAnchorType ScDrawView::GetAnchorType() const
@@ -230,9 +226,8 @@ void ScDrawView::Notify( SfxBroadcaster& rBC, const 
SfxHint& rHint )
 
 void ScDrawView::UpdateIMap( SdrObject* pObj )
 {
-    if ( !(pViewData &&
-         pViewData->GetViewShell()->GetViewFrame().HasChildWindow( 
ScIMapChildWindowId() ) &&
-         pObj && ( dynamic_cast<const SdrGrafObj*>( pObj) != nullptr || 
dynamic_cast<const SdrOle2Obj*>( pObj) != nullptr )) )
+    if ( rViewData.GetViewShell()->GetViewFrame().HasChildWindow( 
ScIMapChildWindowId() ) &&
+         pObj && ( dynamic_cast<const SdrGrafObj*>( pObj) != nullptr || 
dynamic_cast<const SdrOle2Obj*>( pObj) != nullptr ) )
         return;
 
     Graphic     aGraphic;
diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx
index df5615741958..b69517b10223 100644
--- a/sc/source/ui/view/drawvie4.cxx
+++ b/sc/source/ui/view/drawvie4.cxx
@@ -85,7 +85,7 @@ void ScDrawView::BeginDrag( vcl::Window* pWindow, const 
Point& rStartPos )
     //  Update with the data (including NumberFormatter) from the live 
document would
     //  also store the NumberFormatter in the clipboard chart (#88749#)
 
-    ScDocShell* pDocSh = pViewData->GetDocShell();
+    ScDocShell* pDocSh = rViewData.GetDocShell();
 
     TransferableObjectDescriptor aObjDesc;
     pDocSh->FillTransferableObjectDescriptor( aObjDesc );
@@ -354,7 +354,7 @@ void ScDrawView::DoCopy()
     //  Update with the data (including NumberFormatter) from the live 
document would
     //  also store the NumberFormatter in the clipboard chart (#88749#)
 
-    ScDocShell* pDocSh = pViewData->GetDocShell();
+    ScDocShell* pDocSh = rViewData.GetDocShell();
 
     TransferableObjectDescriptor aObjDesc;
     pDocSh->FillTransferableObjectDescriptor( aObjDesc );
@@ -368,7 +368,7 @@ void ScDrawView::DoCopy()
         pTransferObj->SetDrawPersist( ScGlobal::xDrawClipDocShellRef );    // 
keep persist for ole objects alive
     }
 
-    pTransferObj->CopyToClipboard( pViewData->GetActiveWin() );     // system 
clipboard
+    pTransferObj->CopyToClipboard( rViewData.GetActiveWin() );     // system 
clipboard
 }
 
 uno::Reference<datatransfer::XTransferable> ScDrawView::CopyToTransferable()
@@ -386,9 +386,9 @@ uno::Reference<datatransfer::XTransferable> 
ScDrawView::CopyToTransferable()
     //  there's no need to call SchDLL::Update for the charts in the clipboard 
doc.
     //  Update with the data (including NumberFormatter) from the live 
document would
     //  also store the NumberFormatter in the clipboard chart (#88749#)
-    // lcl_RefreshChartData( pModel, pViewData->GetDocument() );
+    // lcl_RefreshChartData( pModel, rViewData.GetDocument() );
 
-    ScDocShell* pDocSh = pViewData->GetDocShell();
+    ScDocShell* pDocSh = rViewData.GetDocShell();
 
     TransferableObjectDescriptor aObjDesc;
     pDocSh->FillTransferableObjectDescriptor( aObjDesc );
@@ -412,8 +412,7 @@ void ScDrawView::CalcNormScale( Fraction& rFractX, 
Fraction& rFractY ) const
     double nPPTX = ScGlobal::nScreenPPTX;
     double nPPTY = ScGlobal::nScreenPPTY;
 
-    if (pViewData)
-        nPPTX /= pViewData->GetDocShell()->GetOutputFactor();
+    nPPTX /= rViewData.GetDocShell()->GetOutputFactor();
 
     SCCOL nEndCol = 0;
     SCROW nEndRow = 0;
@@ -502,10 +501,10 @@ void ScDrawView::SetMarkedOriginalSize()
         }
     }
 
-    if (nDone && pViewData)
+    if (nDone)
     {
         pUndoGroup->SetComment(ScResId( STR_UNDO_ORIGINALSIZE ));
-        ScDocShell* pDocSh = pViewData->GetDocShell();
+        ScDocShell* pDocSh = rViewData.GetDocShell();
         pDocSh->GetUndoManager()->AddUndoAction(std::move(pUndoGroup));
         pDocSh->SetDrawModified();
     }
@@ -563,7 +562,7 @@ void ScDrawView::FitToCellSize()
         pObj->SetSnapRect(aCellRect);
 
     pUndoGroup->SetComment(ScResId( STR_UNDO_FITCELLSIZE ));
-    ScDocShell* pDocSh = pViewData->GetDocShell();
+    ScDocShell* pDocSh = rViewData.GetDocShell();
     pDocSh->GetUndoManager()->AddUndoAction(std::move(pUndoGroup));
 
 }
diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx
index ca8ac4b29f1e..462f71f820a3 100644
--- a/sc/source/ui/view/drawview.cxx
+++ b/sc/source/ui/view/drawview.cxx
@@ -78,46 +78,39 @@ void ScDrawView::Construct()
     SetMinMoveDistancePixel( 2 );
     SetHitTolerancePixel( 2 );
 
-    if (pViewData)
+    SCTAB nViewTab = rViewData.GetTabNo();
+    ShowSdrPage(GetModel().GetPage(nViewTab));
+
+    bool bEx = rViewData.GetViewShell()->IsDrawSelMode();
+    bool bProt = rDoc.IsTabProtected( nViewTab ) ||
+                 rViewData.GetSfxDocShell()->IsReadOnly();
+
+    SdrLayer* pLayer;
+    SdrLayerAdmin& rAdmin = GetModel().GetLayerAdmin();
+    pLayer = rAdmin.GetLayerPerID(SC_LAYER_BACK);
+    if (pLayer)
+        SetLayerLocked( pLayer->GetName(), bProt || !bEx );
+    pLayer = rAdmin.GetLayerPerID(SC_LAYER_INTERN);
+    if (pLayer)
+        SetLayerLocked( pLayer->GetName() );
+    pLayer = rAdmin.GetLayerPerID(SC_LAYER_FRONT);
+    if (pLayer)
     {
-        SCTAB nViewTab = pViewData->GetTabNo();
-        ShowSdrPage(GetModel().GetPage(nViewTab));
-
-        bool bEx = pViewData->GetViewShell()->IsDrawSelMode();
-        bool bProt = rDoc.IsTabProtected( nViewTab ) ||
-                     pViewData->GetSfxDocShell()->IsReadOnly();
-
-        SdrLayer* pLayer;
-        SdrLayerAdmin& rAdmin = GetModel().GetLayerAdmin();
-        pLayer = rAdmin.GetLayerPerID(SC_LAYER_BACK);
-        if (pLayer)
-            SetLayerLocked( pLayer->GetName(), bProt || !bEx );
-        pLayer = rAdmin.GetLayerPerID(SC_LAYER_INTERN);
-        if (pLayer)
-            SetLayerLocked( pLayer->GetName() );
-        pLayer = rAdmin.GetLayerPerID(SC_LAYER_FRONT);
-        if (pLayer)
-        {
-            SetLayerLocked( pLayer->GetName(), bProt );
-            SetActiveLayer( pLayer->GetName() );        // set active layer to 
FRONT
-        }
-        pLayer = rAdmin.GetLayerPerID(SC_LAYER_CONTROLS);
-        if (pLayer)
-            SetLayerLocked( pLayer->GetName(), bProt );
-        pLayer = rAdmin.GetLayerPerID(SC_LAYER_HIDDEN);
-        if (pLayer)
-        {
-            SetLayerLocked( pLayer->GetName(), bProt );
-            SetLayerVisible( pLayer->GetName(), false);
-        }
-
-        SetSwapAsynchron();
+        SetLayerLocked( pLayer->GetName(), bProt );
+        SetActiveLayer( pLayer->GetName() );        // set active layer to 
FRONT
     }
-    else
+    pLayer = rAdmin.GetLayerPerID(SC_LAYER_CONTROLS);
+    if (pLayer)
+        SetLayerLocked( pLayer->GetName(), bProt );
+    pLayer = rAdmin.GetLayerPerID(SC_LAYER_HIDDEN);
+    if (pLayer)
     {
-        ShowSdrPage(GetModel().GetPage(nTab));
+        SetLayerLocked( pLayer->GetName(), bProt );
+        SetLayerVisible( pLayer->GetName(), false);
     }
 
+    SetSwapAsynchron();
+
     UpdateUserViewOptions();
     RecalcScale();
     UpdateWorkArea();
@@ -144,7 +137,7 @@ void ScDrawView::AddCustomHdl()
         SdrObject* pObj = rMarkList.GetMark(nPos)->GetMarkedSdrObj();
         if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjDataTab(pObj, nTab))
         {
-            if (ScTabView* pView = pViewData->GetView())
+            if (ScTabView* pView = rViewData.GetView())
                 pView->CreateAnchorHandles(maHdlList, pAnchor->maStart);
         }
     }
@@ -152,8 +145,7 @@ void ScDrawView::AddCustomHdl()
 
 void ScDrawView::InvalidateAttribs()
 {
-    if (!pViewData) return;
-    SfxBindings& rBindings = pViewData->GetBindings();
+    SfxBindings& rBindings = rViewData.GetBindings();
 
         // true status values:
     rBindings.InvalidateAll( true );
@@ -161,8 +153,7 @@ void ScDrawView::InvalidateAttribs()
 
 void ScDrawView::InvalidateDrawTextAttrs()
 {
-    if (!pViewData) return;
-    SfxBindings& rBindings = pViewData->GetBindings();
+    SfxBindings& rBindings = rViewData.GetBindings();
 
     //  cjk/ctl font items have no configured slots,
     //  need no invalidate
@@ -236,7 +227,7 @@ void ScDrawView::SetMarkedToLayer( SdrLayerID nLayerNo )
 
     //  repaint is done in SetLayer
 
-    pViewData->GetDocShell()->SetDrawModified();
+    rViewData.GetDocShell()->SetDrawModified();
 
     //  check mark list now instead of later in a timer
     CheckMarked();
@@ -304,21 +295,11 @@ void ScDrawView::RecalcScale()
     Fraction aZoomX(1,1);
     Fraction aZoomY(1,1);
 
-    if (pViewData)
-    {
-        nTab = pViewData->GetTabNo();
-        nPPTX = pViewData->GetPPTX();
-        nPPTY = pViewData->GetPPTY();
-        aZoomX = pViewData->GetZoomX();
-        aZoomY = pViewData->GetZoomY();
-    }
-    else
-    {
-        Point aLogic = pDev->LogicToPixel(Point(1000,1000), 
MapMode(MapUnit::MapTwip));
-        nPPTX = aLogic.X() / 1000.0;
-        nPPTY = aLogic.Y() / 1000.0;
-                                            //! Zoom, handed over ???
-    }
+    nTab = rViewData.GetTabNo();
+    nPPTX = rViewData.GetPPTX();
+    nPPTY = rViewData.GetPPTY();
+    aZoomX = rViewData.GetZoomX();
+    aZoomY = rViewData.GetZoomY();
 
     SCCOL nEndCol = 0;
     SCROW nEndRow = 0;
@@ -336,7 +317,7 @@ void ScDrawView::RecalcScale()
     resetGridOffsetsForAllSdrPageViews();
 
     SdrPageView* pPV = GetSdrPageView();
-    if ( !(pViewData && pPV) )
+    if ( !pPV )
         return;
 
     if ( SdrPage* pPage = pPV->GetPage() )
@@ -349,15 +330,14 @@ void ScDrawView::RecalcScale()
 
 void ScDrawView::DoConnect(SdrOle2Obj* pOleObj)
 {
-    if ( pViewData )
-        pViewData->GetViewShell()->ConnectObject( pOleObj );
+    rViewData.GetViewShell()->ConnectObject( pOleObj );
 }
 
 void ScDrawView::MarkListHasChanged()
 {
     FmFormView::MarkListHasChanged();
 
-    ScTabViewShell* pViewSh = pViewData->GetViewShell();
+    ScTabViewShell* pViewSh = rViewData.GetViewShell();
     const SdrMarkList& rMarkList = GetMarkedObjectList();
     ScModule* pScMod = ScModule::get();
 
@@ -389,7 +369,7 @@ void ScDrawView::MarkListHasChanged()
 
     const size_t nMarkCount = rMarkList.GetMarkCount();
 
-    if ( nMarkCount == 0 && !pViewData->GetViewShell()->IsDrawSelMode() && 
!bInConstruct )
+    if ( nMarkCount == 0 && !rViewData.GetViewShell()->IsDrawSelMode() && 
!bInConstruct )
     {
         //  relock layers that may have been unlocked before
         LockBackgroundLayer(true);
@@ -552,7 +532,7 @@ bool ScDrawView::SdrBeginTextEdit(
         pGivenOutliner, pGivenOutlinerView, bDontDeleteOutliner,
         bOnlyOneView, bGrabFocus );
 
-    ScTabViewShell* pViewSh = pViewData->GetViewShell();
+    ScTabViewShell* pViewSh = rViewData.GetViewShell();
 
     if (comphelper::LibreOfficeKit::isActive())
     {
@@ -584,7 +564,7 @@ SdrEndTextEditKind ScDrawView::SdrEndTextEdit( bool 
bDontDeleteReally )
 {
     const SdrEndTextEditKind eRet = FmFormView::SdrEndTextEdit( 
bDontDeleteReally );
 
-    ScTabViewShell* pViewSh = pViewData->GetViewShell();
+    ScTabViewShell* pViewSh = rViewData.GetViewShell();
 
     if (comphelper::LibreOfficeKit::isActive())
         SfxLokHelper::notifyOtherViews(pViewSh, LOK_CALLBACK_VIEW_LOCK, 
"rectangle", "EMPTY"_ostr);
@@ -604,11 +584,11 @@ SdrEndTextEditKind ScDrawView::SdrEndTextEdit( bool 
bDontDeleteReally )
 void ScDrawView::ModelHasChanged()
 {
     SdrObject* pEditObj = GetTextEditObject();
-    if ( pEditObj && !pEditObj->IsInserted() && pViewData )
+    if ( pEditObj && !pEditObj->IsInserted() )
     {
         //  SdrObjEditView::ModelHasChanged will end text edit in this case,
         //  so make sure the EditEngine's undo manager is no longer used.
-        pViewData->GetViewShell()->SetDrawTextUndo(nullptr);
+        rViewData.GetViewShell()->SetDrawTextUndo(nullptr);
         SetCreateMode();    // don't leave FuText in a funny state
     }
 
@@ -617,10 +597,7 @@ void ScDrawView::ModelHasChanged()
 
 void ScDrawView::UpdateUserViewOptions()
 {
-    if (!pViewData)
-        return;
-
-    const ScViewOptions&    rOpt = pViewData->GetOptions();
+    const ScViewOptions&    rOpt = rViewData.GetOptions();
     const ScGridOptions&    rGrid = rOpt.GetGridOptions();
 
     SetDragStripes( rOpt.GetOption( VOPT_HELPLINES ) );
@@ -702,15 +679,15 @@ void ScDrawView::SelectCurrentViewObject( 
std::u16string_view rName )
     if ( !pFound )
         return;
 
-    ScTabView* pView = pViewData->GetView();
+    ScTabView* pView = rViewData.GetView();
     if ( nObjectTab != nTab )                               // switch sheet
         pView->SetTabNo( nObjectTab );
     DBG_ASSERT( nTab == nObjectTab, "Switching sheets did not work" );
     pView->ScrollToObject( pFound );
     if ( pFound->GetLayer() == SC_LAYER_BACK &&
-            !pViewData->GetViewShell()->IsDrawSelMode() &&
+            !rViewData.GetViewShell()->IsDrawSelMode() &&
             !rDoc.IsTabProtected( nTab ) &&
-            !pViewData->GetSfxDocShell()->IsReadOnly() )
+            !rViewData.GetSfxDocShell()->IsReadOnly() )
     {
         SdrLayer* pLayer = 
GetModel().GetLayerAdmin().GetLayerPerID(SC_LAYER_BACK);
         if (pLayer)
@@ -756,7 +733,7 @@ bool ScDrawView::SelectObject( std::u16string_view rName )
 
     if ( pFound )
     {
-        ScTabView* pView = pViewData->GetView();
+        ScTabView* pView = rViewData.GetView();
         if ( nObjectTab != nTab )                               // switch sheet
             pView->SetTabNo( nObjectTab );
 
@@ -768,9 +745,9 @@ bool ScDrawView::SelectObject( std::u16string_view rName )
             be unlocked even if exclusive drawing selection mode is not active
             (this is reversed in MarkListHasChanged when nothing is selected) 
*/
         if ( pFound->GetLayer() == SC_LAYER_BACK &&
-                !pViewData->GetViewShell()->IsDrawSelMode() &&
+                !rViewData.GetViewShell()->IsDrawSelMode() &&
                 !rDoc.IsTabProtected( nTab ) &&
-                !pViewData->GetSfxDocShell()->IsReadOnly() )
+                !rViewData.GetSfxDocShell()->IsReadOnly() )
         {
             LockBackgroundLayer(false);
         }
@@ -799,12 +776,9 @@ bool ScDrawView::InsertObjectSafe(SdrObject* pObj, 
SdrPageView& rPV)
     // Do not change marks when the ole object is active
     // (for Drop from ole object would otherwise be deactivated in the middle 
of ExecuteDrag!)
 
-    if (pViewData)
-    {
-        SfxInPlaceClient* pClient = pViewData->GetViewShell()->GetIPClient();
-        if ( pClient && pClient->IsObjectInPlaceActive() )
-            nOptions |= SdrInsertFlags::DONTMARK;
-    }
+    SfxInPlaceClient* pClient = rViewData.GetViewShell()->GetIPClient();
+    if ( pClient && pClient->IsObjectInPlaceActive() )
+        nOptions |= SdrInsertFlags::DONTMARK;
 
     return InsertObjectAtView(pObj, rPV, nOptions);
 }
@@ -812,10 +786,10 @@ bool ScDrawView::InsertObjectSafe(SdrObject* pObj, 
SdrPageView& rPV)
 SdrObject* ScDrawView::GetMarkedNoteCaption( ScDrawObjData** ppCaptData )
 {
     const SdrMarkList& rMarkList = GetMarkedObjectList();
-    if( pViewData && (rMarkList.GetMarkCount() == 1) )
+    if( rMarkList.GetMarkCount() == 1 )
     {
         SdrObject* pObj = rMarkList.GetMark( 0 )->GetMarkedSdrObj();
-        if( ScDrawObjData* pCaptData = ScDrawLayer::GetNoteCaptionData( pObj, 
pViewData->GetTabNo() ) )
+        if( ScDrawObjData* pCaptData = ScDrawLayer::GetNoteCaptionData( pObj, 
rViewData.GetTabNo() ) )
         {
             if( ppCaptData ) *ppCaptData = pCaptData;
             return pObj;
@@ -836,13 +810,13 @@ void ScDrawView::MakeVisible( const tools::Rectangle& 
rRect, vcl::Window& rWin )
     //! Evaluate rWin properly
     //! change zoom if necessary
 
-    if ( pViewData && pViewData->GetActiveWin() == &rWin )
-        pViewData->GetView()->MakeVisible( rRect );
+    if ( rViewData.GetActiveWin() == &rWin )
+        rViewData.GetView()->MakeVisible( rRect );
 }
 
 SfxViewShell* ScDrawView::GetSfxViewShell() const
 {
-    return pViewData->GetViewShell();
+    return rViewData.GetViewShell();
 }
 
 void ScDrawView::DeleteMarked()
@@ -852,7 +826,7 @@ void ScDrawView::DeleteMarked()
     if( SdrObject* pCaptObj = GetMarkedNoteCaption( &pCaptData ) )
     {
         ScDrawLayer* pDrawLayer = rDoc.GetDrawLayer();
-        ScDocShell* pDocShell = pViewData ? pViewData->GetDocShell() : nullptr;
+        ScDocShell* pDocShell = rViewData.GetDocShell();
         SfxUndoManager* pUndoMgr = pDocShell ? pDocShell->GetUndoManager() : 
nullptr;
         bool bUndo = pDrawLayer && pDocShell && pUndoMgr && 
rDoc.IsUndoEnabled();
 
@@ -889,7 +863,7 @@ SdrEndTextEditKind ScDrawView::ScEndTextEdit()
     SdrEndTextEditKind eKind = SdrEndTextEdit();
 
     if (bIsTextEdit)
-        pViewData->GetViewShell()->SetDrawTextUndo(nullptr);   // the "normal" 
undo manager
+        rViewData.GetViewShell()->SetDrawTextUndo(nullptr);   // the "normal" 
undo manager
 
     return eKind;
 }
@@ -924,8 +898,8 @@ void ScDrawView::SyncForGrid( SdrObject* pObj )
             SyncForGrid( pChild.get() );
     }
 
-    ScSplitPos eWhich = pViewData->GetActivePart();
-    ScGridWindow* pGridWin = pViewData->GetActiveWin();
+    ScSplitPos eWhich = rViewData.GetActivePart();
+    ScGridWindow* pGridWin = rViewData.GetActiveWin();
     ScDrawObjData* pData = ScDrawLayer::GetObjData( pObj );
     if ( !pGridWin )
         return;
@@ -954,7 +928,7 @@ void ScDrawView::SyncForGrid( SdrObject* pObj )
     Point aOldPos( rDoc.GetColOffset( aOldStt.Col(), aOldStt.Tab()  ), 
rDoc.GetRowOffset( aOldStt.Row(), aOldStt.Tab() ) );
     aOldPos = convertTwipToMm100(aOldPos);
     // find position of same point on the screen ( e.g. grid )
-    Point aCurPos =  pViewData->GetScrPos(  aOldStt.Col(), aOldStt.Row(), 
eWhich, true );
+    Point aCurPos =  rViewData.GetScrPos(  aOldStt.Col(), aOldStt.Row(), 
eWhich, true );
     Point aCurPosHmm = pGridWin->PixelToLogic(aCurPos, aDrawMode );
     Point aGridOff = aCurPosHmm - aOldPos;
     // fdo#63878 Fix the X position for RTL Sheet
@@ -977,7 +951,7 @@ bool ScDrawView::calculateGridOffsetForSdrObject(
                     comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs))
         return false;
 
-    ScGridWindow* pGridWin(pViewData->GetActiveWin());
+    ScGridWindow* pGridWin(rViewData.GetActiveWin());
 
     if(nullptr == pGridWin)
     {
@@ -1013,8 +987,8 @@ bool ScDrawView::calculateGridOffsetForSdrObject(
     aOldPos = convertTwipToMm100(aOldPos);
 
     // find position of same point on the screen ( e.g. grid )
-    ScSplitPos eWhich(pViewData->GetActivePart());
-    Point aCurPos(pViewData->GetScrPos(aOldStt.Col(), aOldStt.Row(), eWhich, 
true));
+    ScSplitPos eWhich(rViewData.GetActivePart());
+    Point aCurPos(rViewData.GetScrPos(aOldStt.Col(), aOldStt.Row(), eWhich, 
true));
     Point aCurPosHmm(pGridWin->PixelToLogic(aCurPos, aDrawMode));
     Point aGridOff(aCurPosHmm - aOldPos);
 
@@ -1036,7 +1010,7 @@ bool ScDrawView::calculateGridOffsetForB2DRange(
     const basegfx::B2DRange& rB2DRange,
     basegfx::B2DVector& rTarget) const
 {
-    ScGridWindow* pGridWin(pViewData->GetActiveWin());
+    ScGridWindow* pGridWin(rViewData.GetActiveWin());
 
     if(nullptr == pGridWin || rB2DRange.isEmpty())
     {
@@ -1063,8 +1037,8 @@ bool ScDrawView::calculateGridOffsetForB2DRange(
     aOldPos = convertTwipToMm100(aOldPos);
 
     // find position of same point on the screen ( e.g. grid )
-    ScSplitPos eWhich(pViewData->GetActivePart());
-    Point aCurPos(pViewData->GetScrPos(aOldStt.Col(), aOldStt.Row(), eWhich, 
true));
+    ScSplitPos eWhich(rViewData.GetActivePart());
+    Point aCurPos(rViewData.GetScrPos(aOldStt.Col(), aOldStt.Row(), eWhich, 
true));
     Point aCurPosHmm(pGridWin->PixelToLogic(aCurPos, aDrawMode));
     Point aGridOff(aCurPosHmm - aOldPos);
 
@@ -1086,7 +1060,7 @@ bool ScDrawView::calculateGridOffsetForB2DRange(
 std::unique_ptr<SdrUndoManager> ScDrawView::createLocalTextUndoManager()
 {
     std::unique_ptr<SdrUndoManager> pUndoManager(new SdrUndoManager);
-    ScDocShell* pDocShell = pViewData ? pViewData->GetDocShell() : nullptr;
+    ScDocShell* pDocShell = rViewData.GetDocShell();
     pUndoManager->SetDocShell(pDocShell);
     return pUndoManager;
 }
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx
index ecb064a04b6d..f435ca1d550e 100644
--- a/sc/source/ui/view/tabview5.cxx
+++ b/sc/source/ui/view/tabview5.cxx
@@ -234,7 +234,7 @@ void ScTabView::MakeDrawView( TriState nForceDesignMode )
     OSL_ENSURE(pLayer, "Where is the Draw Layer ??");
 
     sal_uInt16 i;
-    pDrawView.reset( new ScDrawView( 
pGridWin[SC_SPLIT_BOTTOMLEFT]->GetOutDev(), &aViewData ) );
+    pDrawView.reset( new ScDrawView( 
pGridWin[SC_SPLIT_BOTTOMLEFT]->GetOutDev(), aViewData ) );
     for (i=0; i<4; i++)
         if (pGridWin[i])
         {

Reply via email to