Bug 592737 - vertexAttrib3fv crash [@JSObject::getClass] - r=vladimir, a=blocking2.0

This commit is contained in:
Benoit Jacob 2010-09-02 10:46:51 -04:00
Родитель 51358b356f
Коммит c96c16ca50
1 изменённых файлов: 19 добавлений и 4 удалений

Просмотреть файл

@ -532,7 +532,7 @@ helper_nsICanvasRenderingContextWebGL_Uniform_x_iv(JSContext *cx, uintN argc, js
return JS_FALSE;
}
if (!JSVAL_IS_OBJECT(argv[1])) {
if (JSVAL_IS_PRIMITIVE(argv[1])) {
xpc_qsThrowBadArg(cx, NS_ERROR_FAILURE, vp, 1);
return JS_FALSE;
}
@ -606,7 +606,7 @@ helper_nsICanvasRenderingContextWebGL_Uniform_x_fv(JSContext *cx, uintN argc, js
return JS_FALSE;
}
if (!JSVAL_IS_OBJECT(argv[1])) {
if (JSVAL_IS_PRIMITIVE(argv[1])) {
xpc_qsThrowBadArg(cx, NS_ERROR_FAILURE, vp, 1);
return JS_FALSE;
}
@ -684,7 +684,7 @@ helper_nsICanvasRenderingContextWebGL_UniformMatrix_x_fv(JSContext *cx, uintN ar
if (!JS_ValueToECMAInt32(cx, argv[1], &transpose))
return JS_FALSE;
if (!JSVAL_IS_OBJECT(argv[2])) {
if (JSVAL_IS_PRIMITIVE(argv[2])) {
xpc_qsThrowBadArg(cx, NS_ERROR_FAILURE, vp, 2);
return JS_FALSE;
}
@ -751,7 +751,7 @@ helper_nsICanvasRenderingContextWebGL_VertexAttrib_x_fv(JSContext *cx, uintN arg
if (!JS_ValueToECMAUint32(cx, argv[0], &location))
return JS_FALSE;
if (!JSVAL_IS_OBJECT(argv[1])) {
if (JSVAL_IS_PRIMITIVE(argv[1])) {
xpc_qsThrowBadArg(cx, NS_ERROR_FAILURE, vp, 1);
return JS_FALSE;
}
@ -901,6 +901,11 @@ helper_nsICanvasRenderingContextWebGL_Uniform_x_iv_tn(JSContext *cx, JSObject *o
return;
}
if (!arg) {
xpc_qsThrowMethodFailedWithDetails(cx, NS_ERROR_FAILURE, "nsICanvasRenderingContextWebGL", "uniformNiv");
js_SetTraceableNativeFailed(cx);
}
js::AutoValueRooter obj_tvr(cx);
nsIWebGLUniformLocation *location;
@ -964,6 +969,11 @@ helper_nsICanvasRenderingContextWebGL_Uniform_x_fv_tn(JSContext *cx, JSObject *o
return;
}
if (!arg) {
xpc_qsThrowMethodFailedWithDetails(cx, NS_ERROR_FAILURE, "nsICanvasRenderingContextWebGL", "uniformNfv");
js_SetTraceableNativeFailed(cx);
}
js::AutoValueRooter obj_tvr(cx);
nsIWebGLUniformLocation *location;
@ -1029,6 +1039,11 @@ helper_nsICanvasRenderingContextWebGL_UniformMatrix_x_fv_tn(JSContext *cx, JSObj
return;
}
if (!arg) {
xpc_qsThrowMethodFailedWithDetails(cx, NS_ERROR_FAILURE, "nsICanvasRenderingContextWebGL", "uniformMatrixNfv");
js_SetTraceableNativeFailed(cx);
}
js::AutoValueRooter obj_tvr(cx);
nsIWebGLUniformLocation *location;