httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp
branchRCL_3
changeset 18 5f1cd966e0d9
parent 9 9015645363c8
child 19 c0c2f28ace9c
--- a/httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp	Thu Jul 15 19:14:59 2010 +0300
+++ b/httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp	Thu Aug 19 10:27:19 2010 +0300
@@ -81,10 +81,6 @@
 EXPORT_C TInt RCookieManager::Connect()
     {
     CLOG( ( EClientConnect, 0, _L( "-> RCookieManager::Connect" ) ) );
-    iCookieMgrData = new TCookieMgrInternalStruct(iStringPool);
-    if (!(iCookieMgrData && iCookieMgrData->Init() == KErrNone))
-        return KErrNoMemory;
-            
     TInt error = KErrNone;
     RProcess server;
     error = server.Create( KCookieServerExe, TPtr( NULL, 0 ),
@@ -114,7 +110,12 @@
     CLOG( ( EClientConnect, 0, _L( "Creating server session" ) ) );
     error = CreateSession( KCookieServerName, Version() );
     CLOG( ( EClientConnect, 0, _L( "Server session created, errcode%d" ), error ) );
-
+    if(error == KErrNone)
+    	{
+	iCookieMgrData = new TCookieMgrInternalStruct(iStringPool);
+	if (!(iCookieMgrData && iCookieMgrData->Init() == KErrNone))
+		return KErrNoMemory;
+    	}
     CLOG( ( EClientConnect, 0, _L( "<- RCookieManager::Connect" ) ) );
     return error;
     }
@@ -348,6 +349,10 @@
 EXPORT_C void RCookieManager::Close()
     {
     CLOG(( EClient, 0, _L("-> RCookieManager::Close") ));
+    if( !Handle() )
+        {
+        return;
+        }
     TInt deletestatus =0;
     DestroyCookiesFromMemory(deletestatus);
     delete iCookieMgrData;