diff -r 5a044f6358c2 -r 4baee4f15982 browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp --- a/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Thu Jul 15 18:42:04 2010 +0300 +++ b/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Thu Aug 19 09:57:56 2010 +0300 @@ -451,6 +451,9 @@ #ifdef __RSS_FEEDS case EWmlCmdOpenFeedsFolder: { + //complete remaining startup in Browser and then proceed + if ( !ApiProvider().StartedUp() ) + ApiProvider().CompleteDelayedInit(); ApiProvider().FeedsClientUtilities().ShowFolderViewL(); break; } @@ -930,8 +933,7 @@ aRsk.setPair(EBrowserBookmarksCmdBack, R_BROWSER_BOOKMARKS_DYN_SK_TEXT_SOFTKEY_BACK); // OR, it could be exit under these conditions - if ( !ApiProvider().StartedUp() || - (!iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()) ) + if ( (!iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()) ) { if ( iCurrentFolder == KFavouritesRootUid ) { @@ -1215,7 +1217,7 @@ } } - if ( TheContainer()->Listbox()->CurrentItem()->IsFolder() ) + if ( TheContainer()->Listbox()->CurrentItem() && TheContainer()->Listbox()->CurrentItem()->IsFolder() ) { SetEmptyTextL(); } @@ -1360,7 +1362,7 @@ case R_GOTO_SUBMENU: { // back to page - if ( !ApiProvider().StartedUp() || (!ApiProvider().IsPageLoaded() && !ApiProvider().Fetching())) + if ( !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()) { aMenuPane->SetItemDimmed( EWmlCmdBackToPage, ETrue ); } @@ -2154,7 +2156,9 @@ } // complete remaining application launch process, aynchronously - iAsyncComplete = CIdle::NewL( CActive::EPriorityIdle ); + // complete remaining init as soon as possible, otherwise it can be dangerous (crash) + // since UI code (views) are interdependent + iAsyncComplete = CIdle::NewL( CActive::EPriorityHigh ); iAsyncComplete->Start( TCallBack( CompleteAppInitCallback, &iApiProvider ) ); return; } @@ -2244,7 +2248,8 @@ // void CBrowserBookmarksView::UpdateFavIconsL() { - Container()->Listbox()->UpdateFavIconsL(); + if ( Container() && Container()->Listbox() ) + Container()->Listbox()->UpdateFavIconsL(); }