idlefw/plugins/mcsplugin/publisher/src/mcsplugin.cpp
branchRCL_3
changeset 19 502e5d91ad42
parent 18 bd874ee5e5e2
child 51 15e4dd19031c
--- a/idlefw/plugins/mcsplugin/publisher/src/mcsplugin.cpp	Fri Mar 12 15:43:54 2010 +0200
+++ b/idlefw/plugins/mcsplugin/publisher/src/mcsplugin.cpp	Mon Mar 15 12:41:53 2010 +0200
@@ -89,13 +89,8 @@
 //
 CMCSPlugin::~CMCSPlugin()
     {
-    Release( iContent );
-    
-    if ( iEngine )
-        {
-        TRAP_IGNORE( iEngine->CleanMCSItemsL() );
-        }
-    
+     Release( iContent );
+
     delete iEngine;
     iObservers.Close();
     
@@ -162,7 +157,9 @@
         return;
         }
 
-    CMenuItem* item( iEngine->FetchMenuItemL( aData.MenuItem() ) );
+    CMenuItem* item = NULL;
+    TRAP_IGNORE ( item = iEngine->FetchMenuItemL( aData.MenuItem() ) );
+    
     CleanupStack::PushL( item );
     
     // One widget item has iDataCount number of elements
@@ -173,7 +170,7 @@
             //Publish image
             if ( aObserver.CanPublish( *this, i, aIndex ) )
                 {
-                CGulIcon* icon( iEngine->ItemIconL( *item, 
+                CGulIcon* icon( iEngine->ItemIconL( item, 
                     TPtrC16( ( const TText16* ) iContentModel[ i ].cid ) ) );
                 
                 aObserver.PublishPtr( *this, i, icon , aIndex );
@@ -184,7 +181,7 @@
             //Publish  text
             if ( aObserver.CanPublish( *this, i, aIndex ) )
                 {
-                TPtrC name( iEngine->ItemTextL( *item, 
+                TPtrC name( iEngine->ItemTextL( item, 
                     TPtrC16( ( const TText16* ) iContentModel[ i ].cid ) ) );
                 
                 aObserver.Publish( *this, i, name, aIndex );
@@ -202,10 +199,10 @@
 //
 void CMCSPlugin::Start( TStartReason aReason )
     {
-    if( aReason == EPluginStartup )
+    if ( aReason == EPluginStartup )
         {
-        TRAP_IGNORE( iEngine->CreateBkmMenuItemsL() );
-        }
+        TRAP_IGNORE( iEngine->CreateRuntimeMenuItemsL() );
+        }    
     }
 
 // ----------------------------------------------------------------------------
@@ -213,8 +210,12 @@
 // 
 // ----------------------------------------------------------------------------
 //
-void CMCSPlugin::Stop( TStopReason /*aReason*/ )
+void CMCSPlugin::Stop( TStopReason aReason )
     {
+    if( aReason == EPluginShutdown )
+        {
+        TRAP_IGNORE( iEngine->CleanMCSItemsL() );
+        }
     }
 
 // ----------------------------------------------------------------------------