diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-10-11 20:46:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-11 20:46:49 +0200 |
commit | 74ab8be57a8ff1c3dd84d397e32470ed7a77a96f (patch) | |
tree | 40245d18299e02f907172f11fc1f9cb3ee94f2cb | |
parent | 3cc94b2c0b90ec1136937e2c02b9d7901d3d28b8 (diff) | |
parent | d0f8ef76461ab3137b3445cbfcbbdc8e6f2b20c7 (diff) |
Merge pull request #32752 from m4gr3d/clean_metadata_parsing_fix
Cleanup fix for the meta-data parsing crashing bug.
-rw-r--r-- | platform/android/export/export.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index ab5cba04a2..a43f195b84 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -766,17 +766,9 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { uint32_t attr_value = decode_uint32(&p_manifest[iofs + 8]); uint32_t attr_resid = decode_uint32(&p_manifest[iofs + 16]); - String value; - if (attr_value != 0xFFFFFFFF) - value = string_table[attr_value]; - else - value = "Res #" + itos(attr_resid); + const String value = (attr_value != 0xFFFFFFFF) ? string_table[attr_value] : "Res #" + itos(attr_resid); String attrname = string_table[attr_name]; - String nspace; - if (attr_nspace != 0xFFFFFFFF) - nspace = string_table[attr_nspace]; - else - nspace = ""; + const String nspace = (attr_nspace != 0xFFFFFFFF) ? string_table[attr_nspace] : ""; //replace project information if (tname == "manifest" && attrname == "package") { @@ -830,14 +822,14 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { // FIXME: `attr_value != 0xFFFFFFFF` below added as a stopgap measure for GH-32553, // but the issue should be debugged further and properly addressed. - if (tname == "meta-data" && attrname == "name" && attr_value != 0xFFFFFFFF && string_table[attr_value] == "xr_mode_metadata_name") { + if (tname == "meta-data" && attrname == "name" && value == "xr_mode_metadata_name") { // Update the meta-data 'android:name' attribute based on the selected XR mode. if (xr_mode_index == 1 /* XRMode.OVR */) { string_table.write[attr_value] = "com.samsung.android.vr.application.mode"; } } - if (tname == "meta-data" && attrname == "value" && attr_value != 0xFFFFFFFF && string_table[attr_value] == "xr_mode_metadata_value") { + if (tname == "meta-data" && attrname == "value" && value == "xr_mode_metadata_value") { // Update the meta-data 'android:value' attribute based on the selected XR mode. if (xr_mode_index == 1 /* XRMode.OVR */) { string_table.write[attr_value] = "vr_only"; |