Kaydet (Commit) 2d08fc52 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

A little code cleanup.

* the 'a' prefix is not used for numerical data types.
* let's use at() instead of element access to induce a crash on
  out-of-bound access.
* etc.
üst 404b5641
...@@ -477,17 +477,17 @@ void ScViewData::InsertTabs( SCTAB nTab, SCTAB nNewSheets ) ...@@ -477,17 +477,17 @@ void ScViewData::InsertTabs( SCTAB nTab, SCTAB nNewSheets )
{ {
maTabData.insert( maTabData.begin() + nTab, nNewSheets, NULL ); maTabData.insert( maTabData.begin() + nTab, nNewSheets, NULL );
} }
for (SCTAB aTab = nTab; aTab < nTab + nNewSheets; ++aTab) for (SCTAB i = nTab; i < nTab + nNewSheets; ++i)
{ {
CreateTabData( aTab ); CreateTabData( i );
aMarkData.InsertTab( aTab ); aMarkData.InsertTab( i );
} }
UpdateThis(); UpdateThis();
} }
void ScViewData::DeleteTab( SCTAB nTab ) void ScViewData::DeleteTab( SCTAB nTab )
{ {
delete maTabData[nTab]; delete maTabData.at(nTab);
maTabData.erase(maTabData.begin() + nTab); maTabData.erase(maTabData.begin() + nTab);
UpdateThis(); UpdateThis();
...@@ -496,10 +496,10 @@ void ScViewData::DeleteTab( SCTAB nTab ) ...@@ -496,10 +496,10 @@ void ScViewData::DeleteTab( SCTAB nTab )
void ScViewData::DeleteTabs( SCTAB nTab, SCTAB nSheets ) void ScViewData::DeleteTabs( SCTAB nTab, SCTAB nSheets )
{ {
for (SCTAB aTab = 0; aTab < nSheets; ++aTab) for (SCTAB i = 0; i < nSheets; ++i)
{ {
aMarkData.DeleteTab( nTab + aTab ); aMarkData.DeleteTab( nTab + i );
delete maTabData[nTab + aTab]; delete maTabData.at(nTab + i);
} }
maTabData.erase(maTabData.begin() + nTab, maTabData.begin()+ nTab+nSheets); maTabData.erase(maTabData.begin() + nTab, maTabData.begin()+ nTab+nSheets);
...@@ -521,8 +521,8 @@ void ScViewData::CopyTab( SCTAB nSrcTab, SCTAB nDestTab ) ...@@ -521,8 +521,8 @@ void ScViewData::CopyTab( SCTAB nSrcTab, SCTAB nDestTab )
if (nSrcTab >= static_cast<SCTAB>(maTabData.size())) if (nSrcTab >= static_cast<SCTAB>(maTabData.size()))
OSL_FAIL("pTabData out of bounds, FIX IT"); OSL_FAIL("pTabData out of bounds, FIX IT");
while( nDestTab >= static_cast<SCTAB>(maTabData.size())) EnsureTabDataSize(nDestTab + 1);
maTabData.push_back(NULL);
if ( maTabData[nSrcTab] ) if ( maTabData[nSrcTab] )
maTabData.insert(maTabData.begin() + nDestTab, new ScViewDataTable( *maTabData[nSrcTab] )); maTabData.insert(maTabData.begin() + nDestTab, new ScViewDataTable( *maTabData[nSrcTab] ));
else else
...@@ -536,22 +536,19 @@ void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab ) ...@@ -536,22 +536,19 @@ void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab )
{ {
if (nDestTab==SC_TAB_APPEND) if (nDestTab==SC_TAB_APPEND)
nDestTab = pDoc->GetTableCount() - 1; nDestTab = pDoc->GetTableCount() - 1;
ScViewDataTable* pTab; ScViewDataTable* pTab = NULL;
if (nSrcTab < static_cast<SCTAB>(maTabData.size())) if (nSrcTab < static_cast<SCTAB>(maTabData.size()))
{ {
pTab = maTabData[nSrcTab]; pTab = maTabData[nSrcTab];
maTabData.erase( maTabData.begin() + nSrcTab ); maTabData.erase( maTabData.begin() + nSrcTab );
} }
else
pTab = NULL;
if (nDestTab < static_cast<SCTAB>(maTabData.size())) if (nDestTab < static_cast<SCTAB>(maTabData.size()))
maTabData.insert( maTabData.begin() + nDestTab, pTab ); maTabData.insert( maTabData.begin() + nDestTab, pTab );
else else
{ {
while (nDestTab > static_cast<SCTAB>(maTabData.size())) EnsureTabDataSize(nDestTab + 1);
maTabData.push_back(NULL); maTabData[nDestTab] = pTab;
maTabData.push_back(pTab);
} }
UpdateThis(); UpdateThis();
...@@ -563,8 +560,7 @@ void ScViewData::CreateTabData( std::vector< SCTAB >& rvTabs ) ...@@ -563,8 +560,7 @@ void ScViewData::CreateTabData( std::vector< SCTAB >& rvTabs )
{ {
std::vector< SCTAB >::iterator it_end = rvTabs.end(); std::vector< SCTAB >::iterator it_end = rvTabs.end();
for ( std::vector< SCTAB >::iterator it = rvTabs.begin(); it != it_end; ++it ) for ( std::vector< SCTAB >::iterator it = rvTabs.begin(); it != it_end; ++it )
if ( !maTabData[*it] ) CreateTabData(*it);
CreateTabData( *it );
} }
void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs ) void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs )
...@@ -590,7 +586,7 @@ void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs ) ...@@ -590,7 +586,7 @@ void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs )
for ( ; it != it_end; ++it ) for ( ; it != it_end; ++it )
{ {
SCTAB i = *it; SCTAB i = *it;
if ( *it < static_cast<SCTAB>(maTabData.size()) && maTabData[i] ) if ( i < static_cast<SCTAB>(maTabData.size()) && maTabData[i] )
maTabData[i]->eZoomType = eNew; maTabData[i]->eZoomType = eNew;
} }
} }
...@@ -1428,8 +1424,8 @@ void ScViewData::GetEditView( ScSplitPos eWhich, EditView*& rViewPtr, SCCOL& rCo ...@@ -1428,8 +1424,8 @@ void ScViewData::GetEditView( ScSplitPos eWhich, EditView*& rViewPtr, SCCOL& rCo
void ScViewData::CreateTabData( SCTAB nNewTab ) void ScViewData::CreateTabData( SCTAB nNewTab )
{ {
while(nNewTab >= static_cast<SCTAB>(maTabData.size())) EnsureTabDataSize(nNewTab + 1);
maTabData.push_back(NULL);
if (!maTabData[nNewTab]) if (!maTabData[nNewTab])
{ {
maTabData[nNewTab] = new ScViewDataTable; maTabData[nNewTab] = new ScViewDataTable;
...@@ -1446,8 +1442,8 @@ void ScViewData::CreateSelectedTabData() ...@@ -1446,8 +1442,8 @@ void ScViewData::CreateSelectedTabData()
{ {
SCTAB nTabCount = aMarkData.GetLastSelected(); SCTAB nTabCount = aMarkData.GetLastSelected();
for (SCTAB i=0; i<nTabCount; i++) for (SCTAB i=0; i<nTabCount; i++)
if ( aMarkData.GetTableSelect(i) && !maTabData[i] ) if ( aMarkData.GetTableSelect(i))
CreateTabData( i ); CreateTabData(i);
} }
void ScViewData::EnsureTabDataSize(size_t nSize) void ScViewData::EnsureTabDataSize(size_t nSize)
...@@ -2310,10 +2306,7 @@ void ScViewData::ReadUserData(const String& rData) ...@@ -2310,10 +2306,7 @@ void ScViewData::ReadUserData(const String& rData)
while ( nCount > nPos+nTabStart ) while ( nCount > nPos+nTabStart )
{ {
aTabOpt = rData.GetToken(static_cast<xub_StrLen>(nPos+nTabStart)); aTabOpt = rData.GetToken(static_cast<xub_StrLen>(nPos+nTabStart));
while(nPos >= static_cast<SCTAB>(maTabData.size())) EnsureTabDataSize(nPos + 1);
{
maTabData.push_back(NULL);
}
if (!maTabData[nPos]) if (!maTabData[nPos])
maTabData[nPos] = new ScViewDataTable; maTabData[nPos] = new ScViewDataTable;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment