Skip to content

Commit cb43ed8

Browse files
committed
修复Android平台下map中设置null元素转换失败问题
1 parent 86fb137 commit cb43ed8

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

Source/Android/luascriptcore/src/main/jni/LuaJavaConverter.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ LuaValue* LuaJavaConverter::convertToLuaValueByJObject(JNIEnv *env, LuaContext *
2727
{
2828
LuaValue *value = NULL;
2929

30-
if (env -> IsInstanceOf(object, LuaJavaType::stringClass(env)) == JNI_TRUE)
30+
if (env -> IsSameObject(object, NULL) == JNI_TRUE)
31+
{
32+
value = LuaValue::NilValue();
33+
}
34+
else if (env -> IsInstanceOf(object, LuaJavaType::stringClass(env)) == JNI_TRUE)
3135
{
3236
//String类型
3337
jstring str = (jstring) object;

Source/Android/luascriptcore/src/main/jni/LuaJavaEnv.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ LuaObjectDescriptor* LuaJavaEnv::getAssociateInstanceRef(JNIEnv *env, jobject in
296296
{
297297
LuaObjectDescriptor *objectDescriptor = NULL;
298298

299-
if (env -> IsInstanceOf(instance, LuaJavaType::luaBaseObjectClass(env)) == JNI_TRUE)
299+
if (instance != NULL && env -> IsInstanceOf(instance, LuaJavaType::luaBaseObjectClass(env)) == JNI_TRUE)
300300
{
301301
jfieldID nativeFieldId = env -> GetFieldID(env -> GetObjectClass(instance), "_nativeId", "I");
302302
jint nativeId = env -> GetIntField(instance, nativeFieldId);

0 commit comments

Comments
 (0)