You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Shazron Abdullah (JIRA)" <ji...@apache.org> on 2012/04/21 00:35:32 UTC
[jira] [Resolved] (CB-262) deviceContact.save() seems to crash with
empty Arrays for specific fields.
[ https://issues.apache.org/jira/browse/CB-262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shazron Abdullah resolved CB-262.
---------------------------------
Resolution: Cannot Reproduce
Tried this sample code, could not repro the crash:
{code}
function onBodyLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady()
{
var options = new ContactFindOptions();
options.filter="";
var fields = ["displayName", "name"];
navigator.contacts.find(fields, onSuccess, onError, options);
}
function onSuccess(contacts) {
console.log('Found ' + contacts.length + ' contacts.');
for(var i=0; i < contacts.length; ++i)
{
console.log(JSON.stringify(contacts[i]));
if(!contacts[i].phoneNumbers) contacts[i].phoneNumbers = [];
if(!contacts[i].emails) contacts[i].emails = [];
if(!contacts[i].addresses) contacts[i].addresses = [];
if(!contacts[i].urls) contacts[i].urls = [];
if(!contacts[i].organizations) contacts[i].organizations = [];
if(!contacts[i].ims) contacts[i].ims = [];
contacts[i].save(winSave, failSave);
}
};
function onError(contactError) {
alert('onError!');
};
function winSave() {
alert("Save success");
}
function failSave(contactError) {
alert("Error = " + contactError.code);
}
{code}
> deviceContact.save() seems to crash with empty Arrays for specific fields.
> --------------------------------------------------------------------------
>
> Key: CB-262
> URL: https://issues.apache.org/jira/browse/CB-262
> Project: Apache Callback
> Issue Type: Bug
> Components: iOS
> Affects Versions: 1.4.0
> Environment: IOS5 XCODE4.3
> Reporter: Olivier Louvignes
> Assignee: Shazron Abdullah
> Priority: Critical
> Labels: contacts, crash, ios
> Fix For: 1.7.0
>
>
> Tried to avoid any null parameters in the deviceContact returned from navigator.contacts.find() operation.
> So i used :
> // Force arrays
> if(!deviceContact.phoneNumbers) deviceContact.phoneNumbers = [];
> if(!deviceContact.emails) deviceContact.emails = [];
> if(!deviceContact.addresses) deviceContact.addresses = [];
> if(!deviceContact.urls) deviceContact.urls = [];
> if(!deviceContact.organizations) deviceContact.organizations = [];
> if(!deviceContact.ims) deviceContact.ims = [];
> However this does make PG crash on the next save.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira