diff -r 6134b5029079 -r 876a3df1f464 commsconfig/cscapplicationui/src/cscserviceview.cpp --- a/commsconfig/cscapplicationui/src/cscserviceview.cpp Wed Apr 14 15:49:55 2010 +0300 +++ b/commsconfig/cscapplicationui/src/cscserviceview.cpp Tue Apr 27 16:28:03 2010 +0300 @@ -676,7 +676,7 @@ { CSCDEBUG( "CCSCServiceView::DynInitMenuPaneL - begin" ); - if ( R_CSC_SERVICEVIEW_MENU == aResourceId && aMenuPane ) + if ( R_CSC_SERVICEVIEW_MENU == aResourceId && aMenuPane && iContainer ) { TBool itemSpecificCommandsEnabled = MenuBar()->ItemSpecificCommandsEnabled(); @@ -813,13 +813,13 @@ void CCSCServiceView::TimerExpired() { CSCDEBUG( "CCSCServiceView::TimerExpired - begin" ); - + iStartupHandler.ResetUid( CCSCEngStartupHandler::EPluginUid ); iOfferedPluginUids.Append( iPluginInfo.iPluginsUid ); - + CCSCNoteUtilities::TCSCNoteType type = CCSCNoteUtilities::ECSCConfigureServiceQuery; - + TBool configure( EFalse ); TRAP_IGNORE ( if ( CCSCNoteUtilities::ShowCommonQueryL( @@ -827,37 +827,35 @@ { iServicePluginHandler.DoProvisioningL( iPluginInfo.iPluginsUid, KCSCServiceViewId ); + // User has accepted plugin configuration query. + // Return to avoid launching a new query on top of + // current configuration process. + configure = ETrue; } ); + if ( configure ) + { + return; + } iNextPluginIndex++; TInt pluginCount = iServicePluginHandler.PluginCount( - CCSCEngServicePluginHandler::EInitialized ); - + CCSCEngServicePluginHandler::EInitialized ); + for ( ; iNextPluginIndex < pluginCount; iNextPluginIndex++ ) { CSCDEBUG2( "CCSCServiceView::TimerExpired -iNextPluginIndex = %d", iNextPluginIndex ); - + iPluginInfo = iServicePluginHandler.ItemFromPluginInfoArray( iNextPluginIndex ); - - if ( KNullUid != iUid ) + + if ( KNullUid != iPluginInfo.iPluginsUid && !iPluginInfo.iProvisioned ) { - if ( iUid == iPluginInfo.iPluginsUid && !iPluginInfo.iProvisioned ) - { - iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer ); - break; - } + iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer ); + break; } - else - { - if ( !iPluginInfo.iProvisioned ) - { - iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer ); - break; - } - } + } CSCDEBUG( "CCSCServiceView::TimerExpired - end" ); }