syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp
changeset 73 ae69c2e8bc34
parent 0 b497e44ab2fc
--- a/syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp	Tue Sep 28 17:53:08 2010 +0530
+++ b/syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp	Fri Oct 15 11:46:45 2010 +0530
@@ -43,14 +43,19 @@
     if( loadedProcess.SecureId() != KSmlContactSuiteAppUID )
         {
         return ;
-        }
-    
+        }  
    if ( iContactSuiteCallBack == NULL )
         {
         // callback not yet created, create
-        iContactSuiteCallBack = new (ELeave) CSmlContactSuiteActiveCallback( *this );            
+        iContactSuiteCallBack = new (ELeave) CSmlContactSuiteActiveCallback( *this );                   
         }
 
     Send( ECmdContactSuiteRegisterObserversWithProfileId, TIpcArgs (aProfileId) );
-    iContactSuiteCallBack->SetProgressObserverL( aProgressObserver );               
+    TRAPD( err, iContactSuiteCallBack->SetProgressObserverL( aProgressObserver ));
+    delete iContactSuiteCallBack;
+		iContactSuiteCallBack = NULL;
+    if(err != KErrNone)
+		    {		    
+		    User::Leave( err );
+		    }      			          
     };