summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/ui/app/drwtrans.cxx2
-rw-r--r--sc/source/ui/app/transobj.cxx5
-rw-r--r--sc/source/ui/docshell/docsh4.cxx4
-rw-r--r--sc/source/ui/inc/viewdata.hxx10
-rw-r--r--sc/source/ui/unoobj/docuno.cxx3
-rw-r--r--sc/source/ui/view/tabview.cxx2
-rw-r--r--sc/source/ui/view/viewdata.cxx11
7 files changed, 24 insertions, 13 deletions
diff --git a/sc/source/ui/app/drwtrans.cxx b/sc/source/ui/app/drwtrans.cxx
index dcb90a5e06ed..2c3c11ca6b9b 100644
--- a/sc/source/ui/app/drwtrans.cxx
+++ b/sc/source/ui/app/drwtrans.cxx
@@ -730,7 +730,7 @@ void ScDrawTransferObj::InitDocShell()
aViewOpt.SetOption( VOPT_GRID, false );
rDestDoc.SetViewOptions( aViewOpt );
- ScViewData aViewData( pDocSh, nullptr );
+ ScViewData aViewData( *pDocSh, nullptr );
aViewData.SetTabNo( 0 );
aViewData.SetScreen( aDestArea );
aViewData.SetCurX( 0 );
diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index 3b2d355fb0b7..d296422ae84d 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -99,8 +99,7 @@ void ScTransferObj::PaintToDev( OutputDevice* pDev, ScDocument* pDoc, double nPr
tools::Rectangle aBound( Point(), pDev->GetOutputSize() ); //! use size from clip area?
- ScViewData aViewData(nullptr,nullptr);
- aViewData.InitData( *pDoc );
+ ScViewData aViewData(*pDoc);
aViewData.SetTabNo( rBlock.aEnd.Tab() );
aViewData.SetScreen( rBlock.aStart.Col(), rBlock.aStart.Row(),
@@ -757,7 +756,7 @@ void ScTransferObj::InitDocShell(bool bLimitToPageSize)
pDestPool->CopyStyleFrom( pStylePool, aStyleName, SfxStyleFamily::Page );
}
- ScViewData aViewData( pDocSh, nullptr );
+ ScViewData aViewData( *pDocSh, nullptr );
aViewData.SetScreen( nStartX,nStartY, nEndX,nEndY );
aViewData.SetCurX( nStartX );
aViewData.SetCurY( nStartY );
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 6f25468f716b..d4b8bf689208 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -2132,7 +2132,7 @@ void ScDocShell::Draw( OutputDevice* pDev, const JobSetup & /* rSetup */, sal_uI
if ( nAspect == ASPECT_THUMBNAIL )
{
tools::Rectangle aBoundRect = GetVisArea( ASPECT_THUMBNAIL );
- ScViewData aTmpData( this, nullptr );
+ ScViewData aTmpData( *this, nullptr );
aTmpData.SetTabNo(nVisTab);
SnapVisArea( aBoundRect );
aTmpData.SetScreen( aBoundRect );
@@ -2142,7 +2142,7 @@ void ScDocShell::Draw( OutputDevice* pDev, const JobSetup & /* rSetup */, sal_uI
{
tools::Rectangle aOldArea = SfxObjectShell::GetVisArea();
tools::Rectangle aNewArea = aOldArea;
- ScViewData aTmpData( this, nullptr );
+ ScViewData aTmpData( *this, nullptr );
aTmpData.SetTabNo(nVisTab);
SnapVisArea( aNewArea );
if ( aNewArea != aOldArea && (m_aDocument.GetPosLeft() > 0 || m_aDocument.GetPosTop() > 0) )
diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx
index d79d2e0b84ae..faebd6ee5aa6 100644
--- a/sc/source/ui/inc/viewdata.hxx
+++ b/sc/source/ui/inc/viewdata.hxx
@@ -345,12 +345,14 @@ private:
SAL_DLLPRIVATE void EnsureTabDataSize(size_t nSize);
SAL_DLLPRIVATE void UpdateCurrentTab();
-public:
- ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh );
- ~ScViewData() COVERITY_NOEXCEPT_FALSE;
-
+ ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh );
void InitData(ScDocument& rDocument);
+public:
+ ScViewData( ScDocShell& rDocSh, ScTabViewShell* pViewSh );
+ ScViewData( ScDocument& rDoc );
+ ~ScViewData() COVERITY_NOEXCEPT_FALSE;
+
ScDocShell* GetDocShell() const { return pDocShell; }
ScDocFunc& GetDocFunc() const;
ScDBFunc* GetView() const { return pView; }
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 3ff67bb64af6..b99ed1692f13 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -2080,8 +2080,7 @@ void SAL_CALL ScModelObj::render( sal_Int32 nSelRenderer, const uno::Any& aSelec
tools::Rectangle aBound( Point(), pDev->GetOutputSize());
- ScViewData aViewData(nullptr,nullptr);
- aViewData.InitData( rDoc );
+ ScViewData aViewData(rDoc);
aViewData.SetTabNo( aRange.aStart.Tab() );
aViewData.SetScreen( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row() );
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index c177248846e6..e8b9e037bb1d 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -171,7 +171,7 @@ bool lcl_HasRowOutline( const ScViewData& rViewData )
ScTabView::ScTabView( vcl::Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell ) :
pFrameWin( pParent ),
- aViewData( &rDocSh, pViewShell ),
+ aViewData( rDocSh, pViewShell ),
aFunctionSet( &aViewData ),
aHdrFunc( &aViewData ),
aVScrollTop( VclPtr<ScrollBar>::Create( pFrameWin, WinBits( WB_VSCROLL | WB_DRAG ) ) ),
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 6af89998cd99..ada3884b5af4 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -743,6 +743,17 @@ ScSplitPos ScViewDataTable::SanitizeWhichActive() const
const ScSheetLimits gaNoShellSheetLimits(MAXCOL, MAXROW);
+ScViewData::ScViewData(ScDocShell& rDocSh, ScTabViewShell* pViewSh)
+ : ScViewData(&rDocSh, pViewSh)
+{
+}
+
+ScViewData::ScViewData(ScDocument& rDoc)
+ : ScViewData(nullptr, nullptr)
+{
+ InitData(rDoc);
+}
+
ScViewData::ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh ) :
nPPTX(0.0),
nPPTY(0.0),