Переглянути джерело

Fix some issues found by clang sanitizers.

bruvzg 3 роки тому
батько
коміт
947d7c8329
2 змінених файлів з 4 додано та 4 видалено
  1. 3 3
      core/object/method_bind.h
  2. 1 1
      modules/gdscript/gdscript.cpp

+ 3 - 3
core/object/method_bind.h

@@ -214,7 +214,7 @@ public:
 
 private:
 	PropertyInfo _gen_return_type_info() const {
-		return reinterpret_cast<const Derived *>(this)->_gen_return_type_info_impl();
+		return Derived::_gen_return_type_info_impl();
 	}
 };
 
@@ -237,7 +237,7 @@ public:
 	}
 
 private:
-	PropertyInfo _gen_return_type_info_impl() const {
+	static PropertyInfo _gen_return_type_info_impl() {
 		return {};
 	}
 };
@@ -267,7 +267,7 @@ public:
 	}
 
 private:
-	PropertyInfo _gen_return_type_info_impl() const {
+	static PropertyInfo _gen_return_type_info_impl() {
 		return GetTypeInfo<R>::get_class_info();
 	}
 };

+ 1 - 1
modules/gdscript/gdscript.cpp

@@ -824,7 +824,7 @@ Error GDScript::reload(bool p_keep_state) {
 
 // Loading a template, don't parse.
 #ifdef TOOLS_ENABLED
-	if (basedir.begins_with(EditorSettings::get_singleton()->get_project_script_templates_dir())) {
+	if (EditorSettings::get_singleton() && basedir.begins_with(EditorSettings::get_singleton()->get_project_script_templates_dir())) {
 		return OK;
 	}
 #endif