diff -r 2666d9724c76 -r d4f567ce2e7c phonebookengines/VirtualPhonebook/VPbkCntModel/src/TContactFieldDataImpl.cpp --- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/TContactFieldDataImpl.cpp Thu Jul 15 18:22:55 2010 +0300 +++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/TContactFieldDataImpl.cpp Thu Aug 19 09:41:07 2010 +0300 @@ -176,7 +176,19 @@ User::Leave(KErrNotSupported); } } - + else // If it is an IMPP field + { + TInt pos = aUri.Find(KColon); + // If the service name or the colon doesn't exist, let it leave the function. + // e.g.: + // (1) If the value is YAHOO:peterpan@yahoo.com, YAHOO is the service name + // (2) If the value is :peterpan@yahoo.com, the service name is NULL + // (3) If the value is peterpan@yahoo.com, neither the service name and the colon exists + if( 0 == pos || KErrNotFound == pos ) + { + User::Leave(KErrNotSupported); + } + } } iCntModelField->TextStorage()->SetTextL(aUri); }