diff -r 36d60d12b4af -r 819e59dfc032 perfapps/memspyui/ui/avkon/src/MemSpyViewKernelHeap.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewKernelHeap.cpp Fri Sep 17 14:22:55 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewKernelHeap.cpp Mon Oct 04 10:09:02 2010 +0300 @@ -98,16 +98,18 @@ void CMemSpyViewKernelHeap::SetListBoxModelL() { - CMemSpyApiHeap* iHeap; - iHeap = iMemSpySession.GetHeap( ); + CMemSpyApiHeap* heap = iMemSpySession.GetHeap(); + User::LeaveIfNull( heap ); + CleanupStack::PushL( heap ); - CDesCArrayFlat* model = new (ELeave) CDesC16ArrayFlat( 22 ); - - model = FormatModel( iHeap ); + CDesCArrayFlat* model = FormatModelLC( heap ); CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox ); listbox->Model()->SetItemTextArray( model ); - listbox->Model()->SetOwnershipType( ELbmOwnsItemArray ); + listbox->Model()->SetOwnershipType( ELbmOwnsItemArray ); + + CleanupStack::Pop( model ); + CleanupStack::PopAndDestroy( heap ); } @@ -137,9 +139,10 @@ //CDesCArrayFlat* CMemSpyViewKernelHeap::FormatModel( RArray &aHeap ) -CDesCArrayFlat* CMemSpyViewKernelHeap::FormatModel( CMemSpyApiHeap* aHeap ) +CDesCArrayFlat* CMemSpyViewKernelHeap::FormatModelLC( CMemSpyApiHeap* aHeap ) { CDesCArrayFlat* model = new (ELeave) CDesC16ArrayFlat( 2 ); + CleanupStack::PushL( model ); if (aHeap) { @@ -166,140 +169,163 @@ _LIT( KItem11, "Max. length" ); _LIT( KItem12, "Debug Allocator Library" ); - HBufC* hItem = FormatItem( KItem0, aHeap->Type() ); + HBufC* hItem = FormatItemLC( KItem0, aHeap->Type() ); TPtr pItem(hItem->Des()); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem1, aHeap->Size() ); + hItem = FormatItemLC( KItem1, aHeap->Size() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); TUint address( aHeap->BaseAddress() ); - hItem = FormatItem( KItem8b, address ); + hItem = FormatItemLC( KItem8b, address ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); if(aHeap->Shared()) //Yes / No value formatting - hItem = FormatItem( KItem1b, KMemSpyCaptionYes ); + hItem = FormatItemLC( KItem1b, KMemSpyCaptionYes ); else - hItem = FormatItem( KItem1b, KMemSpyCaptionNo ); + hItem = FormatItemLC( KItem1b, KMemSpyCaptionNo ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem2, aHeap->ChunkSize() ); + hItem = FormatItemLC( KItem2, aHeap->ChunkSize() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem3, aHeap->AllocationsCount() ); + hItem = FormatItemLC( KItem3, aHeap->AllocationsCount() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem4, aHeap->FreeCount() ); + hItem = FormatItemLC( KItem4, aHeap->FreeCount() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem5, aHeap->BiggestAllocation() ); + hItem = FormatItemLC( KItem5, aHeap->BiggestAllocation() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem6, aHeap->BiggestFree() ); + hItem = FormatItemLC( KItem6, aHeap->BiggestFree() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem6a, aHeap->TotalAllocations() ); + hItem = FormatItemLC( KItem6a, aHeap->TotalAllocations() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem6b, aHeap->TotalFree() ); + hItem = FormatItemLC( KItem6b, aHeap->TotalFree() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem7, aHeap->SlackFreeSpace() ); + hItem = FormatItemLC( KItem7, aHeap->SlackFreeSpace() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); TReal iOneHundred( aHeap->Size() ); TReal iValue( aHeap->Fragmentation() ); - hItem = FormatPercentageItem( KItem8a, iOneHundred, iValue ); + hItem = FormatPercentageItemLC( KItem8a, iOneHundred, iValue ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem13, aHeap->HeaderSizeA() ); + hItem = FormatItemLC( KItem13, aHeap->HeaderSizeA() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem14, aHeap->HeaderSizeF() ); + hItem = FormatItemLC( KItem14, aHeap->HeaderSizeF() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem9a, aHeap->AllocationOverhead() ); + hItem = FormatItemLC( KItem9a, aHeap->AllocationOverhead() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem9b, aHeap->FreeOverhead() ); + hItem = FormatItemLC( KItem9b, aHeap->FreeOverhead() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem9c, aHeap->TotalOverhead() ); + hItem = FormatItemLC( KItem9c, aHeap->TotalOverhead() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); TReal iOverhead( aHeap->Overhead() ); - hItem = FormatPercentageItem( KItem9d, iOneHundred, iOverhead ); + hItem = FormatPercentageItemLC( KItem9d, iOneHundred, iOverhead ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem10, aHeap->MinLength() ); + hItem = FormatItemLC( KItem10, aHeap->MinLength() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); - hItem = FormatItem( KItem11, aHeap->MaxLength() ); + hItem = FormatItemLC( KItem11, aHeap->MaxLength() ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); if( aHeap->DebugAllocatorLibrary() ) - hItem = FormatItem( KItem12, KMemSpyCaptionYes ); + hItem = FormatItemLC( KItem12, KMemSpyCaptionYes ); else - hItem = FormatItem( KItem12, KMemSpyCaptionNo ); + hItem = FormatItemLC( KItem12, KMemSpyCaptionNo ); pItem = hItem->Des(); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); } else { - HBufC* hItem = FormatItem( _L("Not Found"), _L("") ); + HBufC* hItem = FormatItemLC( _L("Not Found"), _L("") ); TPtr pItem(hItem->Des()); model->AppendL( pItem ); + CleanupStack::PopAndDestroy( hItem ); pItem.Zero(); } return model; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, const TDesC& aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, const TDesC& aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); pRetBuf.Append( _L("\t") ); @@ -309,9 +335,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, TInt aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, TInt aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -326,9 +352,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, TUint aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, TUint aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -344,9 +370,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, const TInt64& aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, const TInt64& aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -361,9 +387,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, TAny* aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, TAny* aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -378,9 +404,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, TUint* aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, TUint* aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -395,9 +421,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatItem( const TDesC& aCaption, TUint8* aValue ) +HBufC* CMemSpyViewKernelHeap::FormatItemLC( const TDesC& aCaption, TUint8* aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); + HBufC* retBuf = HBufC::NewLC( KMaxName ); TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero(); @@ -412,9 +438,9 @@ return retBuf; } -HBufC* CMemSpyViewKernelHeap::FormatPercentageItem( const TDesC& aCaption, TReal aOneHundredPercentValue, TReal aValue ) +HBufC* CMemSpyViewKernelHeap::FormatPercentageItemLC( const TDesC& aCaption, TReal aOneHundredPercentValue, TReal aValue ) { - HBufC* retBuf = HBufC::NewL( KMaxName ); //buffer for formatted item + HBufC* retBuf = HBufC::NewLC( KMaxName ); //buffer for formatted item TPtr pRetBuf( retBuf->Des() ); pRetBuf.Zero();