idlefw/plugins/wrtdataplugin/src/wrtdataplugin.cpp
branchRCL_3
changeset 31 8baec10861af
parent 30 a5a39a295112
equal deleted inserted replaced
30:a5a39a295112 31:8baec10861af
   580               }
   580               }
   581 
   581 
   582           if ( icon != NULL ) // Syntax correct but icon not found
   582           if ( icon != NULL ) // Syntax correct but icon not found
   583               {
   583               {
   584               aObserver->PublishPtr( *this, aContentId, icon , aContentId );
   584               aObserver->PublishPtr( *this, aContentId, icon , aContentId );
   585               iIconArray.Append(icon);
   585               CleanupStack::PushL( icon );
       
   586               iIconArray.AppendL( icon );
       
   587               CleanupStack::Pop( icon );
   586               } 
   588               } 
   587           else
   589           else
   588               {
   590               {
   589               err = KErrNotFound;   
   591               err = KErrNotFound;   
   590               aObserver->Clean( *this, aContentId, aContentId );
   592               aObserver->Clean( *this, aContentId, aContentId );
   624             CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
   626             CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
   625             if( KErrNone == bitmap->Duplicate( aHandle) )
   627             if( KErrNone == bitmap->Duplicate( aHandle) )
   626                 {
   628                 {
   627                 // Take the ownership
   629                 // Take the ownership
   628                 CGulIcon* icon = CGulIcon::NewL(bitmap);
   630                 CGulIcon* icon = CGulIcon::NewL(bitmap);
       
   631                 CleanupStack::PushL( icon );
   629                 if( aMaskHandle != KErrBadHandle )
   632                 if( aMaskHandle != KErrBadHandle )
   630                     {
   633                     {
   631                     CFbsBitmap* mask = new (ELeave) CFbsBitmap();
   634                     CFbsBitmap* mask = new (ELeave) CFbsBitmap();
   632                     if (KErrNone == mask->Duplicate( aMaskHandle) )
   635                     if (KErrNone == mask->Duplicate( aMaskHandle) )
   633                         {
   636                         {
   634                         icon->SetMask( mask );            
   637                         icon->SetMask( mask );            
   635                         }
   638                         }
   636                     }
   639                     }
   637                 aObserver->PublishPtr( *this, aContentId, icon , aContentId );
   640                 aObserver->PublishPtr( *this, aContentId, icon , aContentId );
   638                 iIconArray.Append(icon);
   641                 iIconArray.AppendL( icon );
       
   642                 CleanupStack::Pop( icon );
   639                 }
   643                 }
   640             else
   644             else
   641                 {
   645                 {
   642                 delete bitmap;
   646                 delete bitmap;
   643                 bitmap = NULL;
   647                 bitmap = NULL;