summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2017-12-02 01:12:23 +0900
committerTomaž Vajngerl <quikee@gmail.com>2017-12-04 08:07:04 +0100
commit75702b13961e545809ce1f2b5a45787f42ffcbc6 (patch)
tree44ed32f5cbb9fb18d8baf1680cbfeede1fd005d5
parentf1f1dd3885cdbf00032a362275f36e408ef5ac9f (diff)
Convert from unique_ptr<bool[]> to vector<bool>
Change-Id: Ie8b6a7bb3c3a624ece42bf57c93fe76f1f4ad3db Reviewed-on: https://gerrit.libreoffice.org/45688 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r--sc/source/ui/inc/printfun.hxx2
-rw-r--r--sc/source/ui/view/printfun.cxx37
2 files changed, 11 insertions, 28 deletions
diff --git a/sc/source/ui/inc/printfun.hxx b/sc/source/ui/inc/printfun.hxx
index 6926a0b5b9fe..0bdd59cbb6eb 100644
--- a/sc/source/ui/inc/printfun.hxx
+++ b/sc/source/ui/inc/printfun.hxx
@@ -103,7 +103,7 @@ private:
SCROW nStartRow;
SCROW nEndRow;
size_t nPagesX;
- std::unique_ptr<bool[]> pHidden;
+ std::vector<bool> aHidden;
//! Cache Number of really visible?
public:
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index 8ee6dd233ab8..44b0c9a32d7c 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -101,11 +101,8 @@ ScPageRowEntry::ScPageRowEntry(const ScPageRowEntry& r)
nStartRow = r.nStartRow;
nEndRow = r.nEndRow;
nPagesX = r.nPagesX;
- if (r.pHidden && nPagesX)
- {
- pHidden.reset( new bool[nPagesX] );
- memcpy( pHidden.get(), r.pHidden.get(), nPagesX * sizeof(bool) );
- }
+ aHidden = r.aHidden;
+ aHidden.resize(nPagesX, false);
}
ScPageRowEntry& ScPageRowEntry::operator=(const ScPageRowEntry& r)
@@ -113,25 +110,15 @@ ScPageRowEntry& ScPageRowEntry::operator=(const ScPageRowEntry& r)
nStartRow = r.nStartRow;
nEndRow = r.nEndRow;
nPagesX = r.nPagesX;
- if (r.pHidden && nPagesX)
- {
- pHidden.reset( new bool[nPagesX] );
- memcpy( pHidden.get(), r.pHidden.get(), nPagesX * sizeof(bool) );
- }
- else
- pHidden.reset();
-
+ aHidden = r.aHidden;
+ aHidden.resize(nPagesX, false);
return *this;
}
void ScPageRowEntry::SetPagesX(size_t nNew)
{
- if (pHidden)
- {
- OSL_FAIL("SetPagesX not after SetHidden");
- pHidden.reset();
- }
nPagesX = nNew;
+ aHidden.resize(nPagesX, false);
}
void ScPageRowEntry::SetHidden(size_t nX)
@@ -142,28 +129,24 @@ void ScPageRowEntry::SetHidden(size_t nX)
--nPagesX;
else
{
- if (!pHidden)
- {
- pHidden.reset( new bool[nPagesX] );
- memset( pHidden.get(), false, nPagesX * sizeof(bool) );
- }
- pHidden[nX] = true;
+ aHidden.resize(nPagesX, false);
+ aHidden[nX] = true;
}
}
}
bool ScPageRowEntry::IsHidden(size_t nX) const
{
- return nX>=nPagesX || ( pHidden && pHidden[nX] ); //! inline?
+ return nX >= nPagesX || aHidden[nX]; //! inline?
}
size_t ScPageRowEntry::CountVisible() const
{
- if ( pHidden )
+ if (!aHidden.empty())
{
size_t nVis = 0;
for (size_t i=0; i<nPagesX; i++)
- if (!pHidden[i])
+ if (!aHidden[i])
++nVis;
return nVis;
}