uifw/AvKon/src/aknindicator.cpp
branchRCL_3
changeset 10 9f56a4e1b8ab
parent 0 2f259fa3e83a
child 15 08e69e956a8c
--- a/uifw/AvKon/src/aknindicator.cpp	Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknindicator.cpp	Mon Mar 15 12:41:34 2010 +0200
@@ -608,6 +608,13 @@
             }
 
         MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+        
+        if ( iIndicatorBitmaps[layoutMode]->Count() <= 0 || !iIndicatorBitmaps[layoutMode]->At( 0 ) )
+            {
+            
+            __ASSERT_DEBUG( EFalse, User::Panic( _L("indicatorcount"),iIndicatorBitmaps[layoutMode]->Count()));
+            return;
+            }
         TSize iconSize( iIndicatorBitmaps[layoutMode]->At( 0 )->SizeInPixels() );
         TInt iconWidth  = iconSize.iWidth;
         TInt iconHeight = iconSize.iHeight;
@@ -652,8 +659,9 @@
                     }
                 }
 
-            if ( iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 ) &&
-                 iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 + 1 ) )
+             if ( ( iAnimState * 2 + 1 ) < iIndicatorBitmaps[layoutMode]->Count()
+                    && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2)
+                    && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2 + 1))
                 {
                 CFbsBitmap* mask = iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 + 1 );
                 if ( iExtension && iExtension->iFader )
@@ -671,7 +679,8 @@
                                  mask,
                                  ETrue );
                 }
-        else if ( iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 ) )
+             else if (( iAnimState * 2 ) < iIndicatorBitmaps[layoutMode]->Count()
+                    && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2) )
                 {
                 // Draw editor indicator bitmap without mask
                 CFbsBitmap* mask = iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 );