diff -r 10246e066a50 -r e53c01f160bc simpledatamodeladapter/src/presencepluginxdmutils.cpp --- a/simpledatamodeladapter/src/presencepluginxdmutils.cpp Tue May 25 13:08:20 2010 +0300 +++ b/simpledatamodeladapter/src/presencepluginxdmutils.cpp Mon Jun 21 16:06:46 2010 +0300 @@ -829,7 +829,7 @@ SXdmAttribute16 attr; attr.iName.Set( KPresenceName ); attr.iValue.Set( aName ); - attributeArray.Append( &attr ); + attributeArray.AppendL( &attr ); CXdmDocumentNode* currNode = NULL; @@ -864,27 +864,29 @@ TRequestStatus& aStatus ) { DP_SDA("CPresencePluginXdmUtils::RemoveEntityFromGrantedL"); - TRAPD(err, iEntityUri = aUri.AllocL() ); + + iEntityUri = aUri.AllocL(); + iConnObs.SubscribedContacts()->RemoveEntityL( iEntityUri->Des() ); + + iClientStatus = &aStatus; + *iClientStatus = KRequestPending; + + iRulesUpdateState = EStateRemoveFromWhiteList; + iOperation = EXdmRemoveUserFromGroup; - iConnObs.SubscribedContacts()->RemoveEntityL( iEntityUri->Des() ); + TRAPD( err, DoRemoveUserFromListL( KPresenceBuddyList, aUri ) ); if ( !err ) { - iClientStatus = &aStatus; - iRulesUpdateState = EStateRemoveFromWhiteList; - iOperation = EXdmRemoveUserFromGroup; - - DoRemoveUserFromListL( KPresenceBuddyList, aUri ); // send to the server and start wait a response UpdateXdmsL(); iXdmState = EUpdateXdmList; - *iClientStatus = KRequestPending; } else { - //If error we can complete request - DP_SDA("RemoveEntityFromGrantedL SEND COMPLETE"); - CompleteClientReq( KErrNone ); + //complete request with error + DP_SDA2( "RemoveEntityFromGrantedL -DoRemoveUserFromListL error = %d", err ); + CompleteClientReq( err ); } } @@ -1073,7 +1075,7 @@ MXIMPIdentity* entity = myFactory.NewIdentityLC(); // << entity entity->SetIdentityL( attr->AttributeValue() ); - aMembers.Append( entity ); + aMembers.AppendL( entity ); CleanupStack::Pop(); // >> entity } }