vpnui/vpnmanagementui/src/vpnuiloader.cpp
branchRCL_3
changeset 12 68dc8923de26
parent 0 33413c0669b9
child 38 9f4e37332ce5
--- a/vpnui/vpnmanagementui/src/vpnuiloader.cpp	Fri Feb 19 23:50:52 2010 +0200
+++ b/vpnui/vpnmanagementui/src/vpnuiloader.cpp	Fri Mar 12 15:48:43 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003 - 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003 - 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -70,12 +70,6 @@
     {
     LOG_("CVpnUiLoader::~CVpnUiLoader()");
     iVpnManagementUiView = NULL;
-    
-    if ( iLogViewVisited == EFalse )
-       delete iVpnManagementUiLogView;
-        
-    if ( iPolicyViewVisited == EFalse )
-       delete iVpnManagementUiPolicyView;
        
     delete iVpnManagementUiParametersView;
     delete iVpnManagementUiServerView;
@@ -139,12 +133,8 @@
     
 	iPreviousAppViewId = aViewId;
 	CreateWindowL();
-
-    iVpnManagementUiPolicyView = CVpnManagementUiPolicyView::NewL( 
-        aRect, *this);
     iVpnManagementUiServerView = CVpnManagementUiServerView::NewL( 
         aRect, *this);
-    iVpnManagementUiLogView = CVpnManagementUiLogView::NewL( aRect, *this);
     iVpnManagementUiParametersView = CServerSettingsView::NewL( aRect, *this);
 
 	SetRect(aRect);
@@ -197,11 +187,12 @@
             }
 		case KChangeViewBack:
       ((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiPolicyViewId);
+		    iPolicyViewVisited = EFalse;
 			((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiLogViewId);
+			iLogViewVisited = EFalse;
 			((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiParametersViewId);
 			((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiServerViewId);
 			((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( iGsViewId.iViewUid );
-			ReleaseResource(ETrue);
             if(iObserver)
                 {
                 iObserver->UiComplete(KUirEventNone);
@@ -218,7 +209,12 @@
 
 			iPreviousViewId = localCurrentViewId.iViewUid;
 			if ( iPolicyViewVisited == EFalse)
+			    {
+                TRect rect;
+                iVpnManagementUiPolicyView = CVpnManagementUiPolicyView::NewL( 
+		            rect, *this);
 			    ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiPolicyView);
+			    }
 			iPolicyViewVisited=ETrue;
 			((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL(
                   KVpnManagementUiPolicyViewId );
@@ -249,7 +245,11 @@
 
 			iPreviousViewId = localCurrentViewId.iViewUid;
 			if ( iLogViewVisited == EFalse)
+			    {
+                TRect rect;
+                iVpnManagementUiLogView = CVpnManagementUiLogView::NewL( rect, *this);
 			    ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiLogView);
+			    }
 			iLogViewVisited=ETrue;
 			((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL(
                   KVpnManagementUiLogViewId );