rem:  var sourceID = dataObj.data.substring(0, len.value); if (!sourceID)  continue; 
add:  var address = dataObj.data.substring(0, len.value); if (!address) continue; 
context: function DropOnAddressingWidgetTree(event){  dump("DropOnTree\n");  var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService();  if (rdf)    rdf = rdf.QueryInterface(Components.interfaces.nsIRDFService);  if (!rdf) return(false);  var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService();  if (dragService)    dragService = dragService.QueryInterface(Components.interfaces.nsIDragService);  if (!dragService) return(false);  var dragSession = dragService.getCurrentSession();  if ( !dragSession ) return(false);  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);  if ( !trans ) return(false);  trans.addDataFlavor("text/nsabcard");  for ( var i = 0; i < dragSession.numDropItems; ++i )  {    dragSession.getData ( trans, i );    dataObj = new Object();    bestFlavor = new Object();    len = new Object();    trans.getAnyTransferData ( bestFlavor, dataObj, len );    if ( dataObj )  dataObj = dataObj.value.QueryInterface(Components.interfaces.nsISupportsWString);    if ( !dataObj ) continue;    // pull the URL out of the data object    var sourceID = dataObj.data.substring(0, len.value);    if (!sourceID)  continue;    var cardResource = rdf.GetResource(sourceID);    var card = cardResource.QueryInterface(Components.interfaces.nsIAbCard);    var address = "\"" + card.name + "\" <" + card.primaryEmail + ">";    dump("    Address #" + i + " = " + address + "\n");    DropRecipient(address);  }  return(false);}
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/d08d4d3f9753b01573c0820f3dc3010c62295d11/addressingWidgetOverlay.js/clean/mailnews/compose/resources/content/addressingWidgetOverlay.js