fix opengl test error

fix opengl test error, add the condition, when the data type is samewith long, it will reset data
relate pr:#13449
fix open gl show error
This commit is contained in:
jianglong0156 2015-08-20 17:42:26 +08:00
parent 5b963ab47a
commit 10d5b73c7e
1 changed files with 13 additions and 5 deletions

View File

@ -187,8 +187,12 @@ bool jsval_to_int( JSContext *cx, JS::HandleValue vp, int *ret )
// Since this is called to cast uint64 to uint32,
// it is needed to initialize the value to 0 first
#ifdef __LP64__
long *tmp = (long*)ret;
*tmp = 0;
// When int size is 8 Bit (same as long), the following operation is needed
if (sizeof(int) == 8)
{
long *tmp = (long*)ret;
*tmp = 0;
}
#endif
return jsval_to_int32(cx, vp, (int32_t*)ret);
}
@ -243,8 +247,12 @@ bool jsval_to_uint( JSContext *cx, JS::HandleValue vp, unsigned int *ret )
// Since this is called to cast uint64 to uint32,
// it is needed to initialize the value to 0 first
#ifdef __LP64__
long *tmp = (long*)ret;
*tmp = 0;
// When unsigned int size is 8 Bit (same as long), the following operation is needed
if (sizeof(unsigned int)==8)
{
long *tmp = (long*)ret;
*tmp = 0;
}
#endif
return jsval_to_int32(cx, vp, (int32_t*)ret);
}
@ -2841,4 +2849,4 @@ jsval std_map_string_string_to_jsval(JSContext* cx, const std::map<std::string,
}
}
return OBJECT_TO_JSVAL(jsRet);
}
}