--- 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() );
+ }
}
// ----------------------------------------------------------------------------