--- a/widgets/widgetapp/src/WidgetUiWindowManager.cpp Thu Jan 07 13:31:38 2010 +0200
+++ b/widgets/widgetapp/src/WidgetUiWindowManager.cpp Mon Jan 18 21:20:18 2010 +0200
@@ -620,6 +620,7 @@
TBool CWidgetUiWindowManager::RemoveFromWindowList( CWidgetUiWindow* aWidgetWindow )
{
__ASSERT_DEBUG( aWidgetWindow, User::Invariant() );
+ TBool count(EFalse);
if ( iDialogsProvider->IsDialogLaunched() )
{
return EFalse;
@@ -661,9 +662,27 @@
else
{
if(aWidgetWindow->CanBeDeleted())
+ {
+ for ( TInt i = 0; i < iWindowList.Count(); ++i )
+ {
+ CWidgetUiWindow* window( iWindowList[i] );
+ if(window->WidgetMiniViewState() == EMiniViewEnabled || window->WidgetMiniViewState() == EMiniViewNotEnabled)
+ {
+ count = ETrue;
+ break;
+ }
+ }
+ if(!count && iNetworkMode == EOfflineMode){
+ aWidgetWindow->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandDisconnect );
+ iConnection->StopConnectionL();
+ }
delete aWidgetWindow;
+ }
+ return EFalse;
}
- return EFalse;
+
}
// =============================================================================