--- 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 );
+ }
};