Browse Source

fix: dict2inst crash when constructor has arguments

(cherry picked from commit 9f6b20936e504b7d2cdb0a6fe9d7b3c33dd4ea86)
Thakee Nathees 5 years ago
parent
commit
e417528f67
1 changed files with 5 additions and 0 deletions
  1. 5 0
      modules/gdscript/gdscript_functions.cpp

+ 5 - 0
modules/gdscript/gdscript_functions.cpp

@@ -1207,6 +1207,11 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
 
 			r_ret = gdscr->_new(NULL, 0, r_error);
 
+			if (r_error.error != Variant::CallError::CALL_OK) {
+				r_ret = Variant();
+				return;
+			}
+
 			GDScriptInstance *ins = static_cast<GDScriptInstance *>(static_cast<Object *>(r_ret)->get_script_instance());
 			Ref<GDScript> gd_ref = ins->get_script();