浏览代码

Fix ICU support data loading

This fixes an error in loading the ICU support data on platforms that
don't use either the builtin icu4c or the static ICU support data.
Travis Wrightsman 11 月之前
父节点
当前提交
c4b7d6f5c3
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      modules/text_server_adv/text_server_adv.cpp

+ 3 - 1
modules/text_server_adv/text_server_adv.cpp

@@ -442,6 +442,8 @@ bool TextServerAdvanced::_load_support_data(const String &p_filename) {
 	}
 	}
 #else
 #else
 	if (!icu_data_loaded) {
 	if (!icu_data_loaded) {
+		UErrorCode err = U_ZERO_ERROR;
+#ifdef ICU_DATA_NAME
 		String filename = (p_filename.is_empty()) ? String("res://") + _MKSTR(ICU_DATA_NAME) : p_filename;
 		String filename = (p_filename.is_empty()) ? String("res://") + _MKSTR(ICU_DATA_NAME) : p_filename;
 
 
 		Ref<FileAccess> f = FileAccess::open(filename, FileAccess::READ);
 		Ref<FileAccess> f = FileAccess::open(filename, FileAccess::READ);
@@ -451,13 +453,13 @@ bool TextServerAdvanced::_load_support_data(const String &p_filename) {
 		uint64_t len = f->get_length();
 		uint64_t len = f->get_length();
 		icu_data = f->get_buffer(len);
 		icu_data = f->get_buffer(len);
 
 
-		UErrorCode err = U_ZERO_ERROR;
 		udata_setCommonData(icu_data.ptr(), &err);
 		udata_setCommonData(icu_data.ptr(), &err);
 		if (U_FAILURE(err)) {
 		if (U_FAILURE(err)) {
 			ERR_FAIL_V_MSG(false, u_errorName(err));
 			ERR_FAIL_V_MSG(false, u_errorName(err));
 		}
 		}
 
 
 		err = U_ZERO_ERROR;
 		err = U_ZERO_ERROR;
+#endif
 		u_init(&err);
 		u_init(&err);
 		if (U_FAILURE(err)) {
 		if (U_FAILURE(err)) {
 			ERR_FAIL_V_MSG(false, u_errorName(err));
 			ERR_FAIL_V_MSG(false, u_errorName(err));