зеркало из https://github.com/mozilla/pjs.git
Landing fix for bug 310097. XPCDispConvert will not convert SAFEARRAY of VARIANT. Patch by gdavis@nsisoftware.com, r=dbradley@gmail.com, sr=jst@mozilla.org
This commit is contained in:
Родитель
65d985e041
Коммит
24d079ef25
|
@ -404,10 +404,18 @@ JSBool XPCDispConvert::COMArrayToJSArray(XPCCallContext& ccx,
|
|||
jsval val;
|
||||
for(long index = lbound; index <= ubound; ++index)
|
||||
{
|
||||
// Devine the type of our array
|
||||
HRESULT hr;
|
||||
_variant_t var;
|
||||
var.vt = vartype;
|
||||
if(FAILED(SafeArrayGetElement(src.parray, &index, &var.byref)))
|
||||
if(vartype == VT_VARIANT)
|
||||
{
|
||||
hr = SafeArrayGetElement(src.parray, &index, &var);
|
||||
}
|
||||
else
|
||||
{
|
||||
var.vt = vartype;
|
||||
hr = SafeArrayGetElement(src.parray, &index, &var.byref);
|
||||
}
|
||||
if(FAILED(hr))
|
||||
{
|
||||
err = NS_ERROR_FAILURE;
|
||||
return JS_FALSE;
|
||||
|
|
Загрузка…
Ссылка в новой задаче