diff -r 30342f40acbf -r e1bea15f9a39 webengine/widgetregistry/Server/src/WidgetRegistry.cpp --- a/webengine/widgetregistry/Server/src/WidgetRegistry.cpp Thu Jul 15 19:53:20 2010 +0300 +++ b/webengine/widgetregistry/Server/src/WidgetRegistry.cpp Thu Aug 19 10:58:56 2010 +0300 @@ -2084,7 +2084,7 @@ if ( !((aInstalledListForDriveFlags)[i] & EInstallListFlagEntry )) { TEntry dirEntry = (*aInstalledListForDrive)[i]; - if ( 0 == bundleIdentifier.Compare( dirEntry.iName ) ) + if ( 0 == bundleIdentifier.CompareF( dirEntry.iName ) ) { (aInstalledListForDriveFlags)[i] |= EInstallListFlagEntry; result = ETrue; @@ -2347,7 +2347,9 @@ void CWidgetRegistry::AppArchListConsistency( const RArray& aAppArchList, RArray& aAppArchListFlags ) { - LOG( "AppArchListConsistency" ); + LOG( "AppArchListConsistency" ); + RArray deRegisterList( KDefaultWidgetCount ); + CleanupClosePushL(deRegisterList); for ( TInt i = 0; i < aAppArchList.Count(); i++ ) { if ( !( aAppArchListFlags[i] & EAppListFlagEntry ) ) @@ -2355,9 +2357,14 @@ LOG_CODE( TInt uidIntLog = aAppArchList[i].iUid ); LOG2( " deregistered widget 0x%x (%d)", uidIntLog, uidIntLog ); - TRAP_IGNORE( iInstaller->DeregisterWidgetL( aAppArchList[i] ) ); + deRegisterList.Append(aAppArchList[i]); } } + if(deRegisterList.Count()) + { + TRAP_IGNORE( iInstaller->DeregisterWidgetsL( deRegisterList ) ); + } + CleanupStack::PopAndDestroy(&deRegisterList); LOG( "AppArchListConsistency done" ); }