diff -r b276298d5729 -r edd621764147 idlefw/plugins/devicestatus/src/aidevicestatusplugin.cpp --- a/idlefw/plugins/devicestatus/src/aidevicestatusplugin.cpp Tue Apr 27 16:57:49 2010 +0300 +++ b/idlefw/plugins/devicestatus/src/aidevicestatusplugin.cpp Tue May 11 16:30:05 2010 +0300 @@ -53,7 +53,8 @@ // ---------------------------------------------------------------------------- // CAiDeviceStatusPlugin::CAiDeviceStatusPlugin() - : iResourceOffset( KErrNotFound ) + : iResourceOffset( KErrNotFound ), + iRequirePublish( EFalse ) { } @@ -164,6 +165,8 @@ // void CAiDeviceStatusPlugin::FreeResources() { + iRequirePublish = EFalse; + if( iResourceOffset >= 0 ) { CCoeEnv* coe = CCoeEnv::Static(); @@ -202,7 +205,8 @@ // ---------------------------------------------------------------------------- // void CAiDeviceStatusPlugin::Stop( TStopReason /*aReason*/ ) - { + { + iRequirePublish = EFalse; } // ---------------------------------------------------------------------------- @@ -216,10 +220,14 @@ { if ( iRequirePublish ) { - TRAP_IGNORE( DoResumeL() ); - + TRAP_IGNORE( DoResumeL() ); iRequirePublish = EFalse; - } + } + else + { + TRAP_IGNORE( + iEngine->RefreshActivePublishersL( EFalse ) ); + } } }