diff -r 1b758917cafc -r d721605b30d0 idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp --- a/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp Wed Jun 09 09:29:04 2010 +0300 +++ b/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp Mon Jun 21 15:27:11 2010 +0300 @@ -114,6 +114,10 @@ DoLoadWidgetsL(); Cleanup(); CloseSession(); + if ( iObserver ) + { + iObserver->LoadDoneL( iWidgetListChanged ); + } } // --------------------------------------------------------------------------- @@ -141,8 +145,9 @@ // void CWmWidgetLoaderAo::DoLoadWidgetsL() { + iWidgetListChanged = EFalse; // Check if unistallation is ongoing for for some widget - // iUninstallUid is null no uninstallation is ongoing + // iUninstallUid is null no uninstallation is ongoing iUninstallUid = iWmPlugin.WmInstaller().UninstallUid(); // connect to widget registry @@ -162,8 +167,8 @@ // 3. prepare the widget data array & sort order array for( TInt i=0; i 0 ) + if ( widgetsAdded > 0 && !iWidgetsList.IsFindPaneIsVisible() ) { iWidgetsList.HandleItemAdditionL(); } @@ -232,9 +237,12 @@ if ( widgetsRemoved > 0 || widgetsAdded > 0 || widgetsChanged > 0 ) { - iWidgetsList.DrawDeferred(); + if ( !iWidgetsList.IsFindPaneIsVisible() ) + { + iWidgetsList.DrawDeferred(); + } + iWidgetListChanged = ETrue; } - // 6: cleanup CleanupStack::PopAndDestroy( contentInfoArray ); @@ -267,9 +275,9 @@ CWmWidgetData* data = NULL; for( TInt i=0; i