summaryrefslogtreecommitdiff
path: root/filter/source/msfilter/msdffimp.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-05-25 09:25:19 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-05-25 09:26:14 +0100
commit306159d8ff9ef91cf8d4c92198157b7fad46211e (patch)
tree4deb90cae6be5a8b2539b8a72d919fb3e05457ab /filter/source/msfilter/msdffimp.cxx
parentb686bab2e39216f5b1df9f7fb77099fec6d2f611 (diff)
convert mpFidcls to a vector
Change-Id: I41d24c8d14a781e4100813ebce136d563f8c36b8
Diffstat (limited to 'filter/source/msfilter/msdffimp.cxx')
-rw-r--r--filter/source/msfilter/msdffimp.cxx19
1 files changed, 5 insertions, 14 deletions
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index c4a6bca55771..4c105308c828 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -3316,13 +3316,13 @@ void SvxMSDffManager::SetModel(SdrModel* pModel, long nApplicationScale)
sal_Bool SvxMSDffManager::SeekToShape( SvStream& rSt, void* /* pClientData */, sal_uInt32 nId ) const
{
sal_Bool bRet = sal_False;
- if ( mpFidcls )
+ if ( !maFidcls.empty() )
{
sal_uInt32 nMerk = rSt.Tell();
sal_uInt32 nShapeId, nSec = ( nId >> 10 ) - 1;
if ( nSec < mnIdClusters )
{
- OffsetMap::const_iterator it = maDgOffsetTable.find( mpFidcls[ nSec ].dgid );
+ OffsetMap::const_iterator it = maDgOffsetTable.find( maFidcls[ nSec ].dgid );
if ( it != maDgOffsetTable.end() )
{
sal_IntPtr nOfs = it->second;
@@ -5747,7 +5747,6 @@ SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_,
nGroupShapeFlags(0), //ensure initialization here, as some corrupted
//files may yield to this being unitialized
maBaseURL( rBaseURL ),
- mpFidcls( NULL ),
rStCtrl( rStCtrl_ ),
pStData( pStData_ ),
pStData2( pStData2_ ),
@@ -5792,7 +5791,6 @@ SvxMSDffManager::SvxMSDffManager( SvStream& rStCtrl_, const String& rBaseURL )
nBLIPCount( USHRT_MAX ), // mit Error initialisieren, da wir erst pruefen,
nShapeCount( USHRT_MAX ), // ob Kontroll-Stream korrekte Daten enthaellt
maBaseURL( rBaseURL ),
- mpFidcls( NULL ),
rStCtrl( rStCtrl_ ),
pStData( 0 ),
pStData2( 0 ),
@@ -5810,7 +5808,6 @@ SvxMSDffManager::~SvxMSDffManager()
delete pShapeInfos;
delete pShapeOrders;
delete pFormModel;
- delete[] mpFidcls;
}
void SvxMSDffManager::InitSvxMSDffManager( sal_uInt32 nOffsDgg_, SvStream* pStData_, sal_uInt32 nOleConvFlags )
@@ -5884,17 +5881,11 @@ void SvxMSDffManager::GetFidclData( sal_uInt32 nOffsDggL )
"escher", "FIDCL list longer than remaining bytes, ppt or parser is wrong");
mnIdClusters = std::min(nMaxEntriesPossible, static_cast<sal_Size>(mnIdClusters));
- sal_Size nMaxEntriesAllocatable = SAL_MAX_UINT32 / sizeof(FIDCL);
- SAL_WARN_IF(nMaxEntriesAllocatable < mnIdClusters,
- "escher", "FIDCL list longer than can be allocated");
- mnIdClusters = std::min(nMaxEntriesAllocatable, static_cast<sal_Size>(mnIdClusters));
-
- mpFidcls = new FIDCL[ mnIdClusters ];
- memset(mpFidcls, 0, mnIdClusters * sizeof(FIDCL));
+ maFidcls.resize(mnIdClusters);
for (sal_uInt32 i = 0; i < mnIdClusters; ++i)
{
- rStCtrl >> mpFidcls[ i ].dgid
- >> mpFidcls[ i ].cspidCur;
+ rStCtrl >> maFidcls[ i ].dgid
+ >> maFidcls[ i ].cspidCur;
}
}
}