浏览代码

Fix crash when `is` keyword is tested against a String variable

(cherry picked from commit 8a42ab7a850a5d8f2e3ecc9768f59d8444cec609)
Haoyu Qiu 3 年之前
父节点
当前提交
d1c6673631
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      modules/gdscript/gdscript_function.cpp

+ 1 - 1
modules/gdscript/gdscript_function.cpp

@@ -473,7 +473,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
 					err_text = "Left operand of 'is' was already freed.";
 					OPCODE_BREAK;
 				}
-				if (b->is_invalid_object()) {
+				if (b->get_type() != Variant::OBJECT || b->is_invalid_object()) {
 					err_text = "Right operand of 'is' is not a class.";
 					OPCODE_BREAK;
 				}