Fixing bug 406251. Make NPVariant to jsval conversion do the right thing with large integer values. r+sr=peterv@propagandism.org, a=dsicore@mozilla.com

git-svn-id: svn://10.0.0.236/trunk@240370 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jst%mozilla.org
2007-12-04 00:33:48 +00:00
parent f0ec01bdaa
commit bb905ff424

View File

@@ -316,7 +316,16 @@ NPVariantToJSVal(NPP npp, JSContext *cx, const NPVariant *variant)
case NPVariantType_Bool :
return BOOLEAN_TO_JSVAL(NPVARIANT_TO_BOOLEAN(*variant));
case NPVariantType_Int32 :
return INT_TO_JSVAL(NPVARIANT_TO_INT32(*variant));
{
// Don't use INT_TO_JSVAL directly to prevent bugs when dealing
// with ints larger than what fits in a integer jsval.
jsval val;
if (::JS_NewNumberValue(cx, NPVARIANT_TO_INT32(*variant), &val)) {
return val;
}
break;
}
case NPVariantType_Double :
{
jsval val;