rem: var transArray = nsJSSupportsUtils.createSupportsArray(); 
add: var transArray = Components.classes["@mozilla.org/supports-array;1"] .createInstance(Components.interfaces.nsISupportsArray);  
context:   startDrag: function (aEvent, aDragDropObserver)    {      if (!("onDragStart" in aDragDropObserver))        return;      const kDSIID = Components.interfaces.nsIDragService;      var dragAction = { action: kDSIID.DRAGDROP_ACTION_COPY + kDSIID.DRAGDROP_ACTION_MOVE + kDSIID.DRAGDROP_ACTION_LINK };      var transferData = { data: null };      try         {          aDragDropObserver.onDragStart(aEvent, transferData, dragAction);        }      catch (e)         {          return;  // not a draggable item, bail!        }      if (!transferData.data) return;      transferData = transferData.data;            var transArray = nsJSSupportsUtils.createSupportsArray();      var count = 0;      do         {          var trans = nsTransferable.set(transferData._XferID == "TransferData"                                          ? transferData                                          : transferData.dataList[count++]);          transArray.AppendElement(trans.QueryInterface(Components.interfaces.nsISupports));        }      while (transferData._XferID == "TransferDataSet" &&              count < transferData.dataList.length);            this.mDragService.invokeDragSession(aEvent.target, transArray, null, dragAction.action);      aEvent.preventBubble();    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/94756543a9ed60c24164eb9ba452d487d966b8ff/nsDragAndDrop.js/buggy/xpfe/global/resources/content/nsDragAndDrop.js