summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-16 14:35:20 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-16 14:35:20 +0200
commit5847d362de70379a28ecd70c890f7fce09f24220 (patch)
treefcd37de88bfb63f82bdb2f7a77b839639b5649f5
parent1d4303c1feda7fda9df16d0db4beb9d41ff205ee (diff)
parente7de6f872523ffff6b6a48c5fef31b2e2d309c63 (diff)
downloadredot-engine-5847d362de70379a28ecd70c890f7fce09f24220.tar.gz
Merge pull request #95505 from lyuma/import_null_external_animation_library
Avoid `[]` for `external_animation_library` import option
-rw-r--r--editor/import/3d/scene_import_settings.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/editor/import/3d/scene_import_settings.cpp b/editor/import/3d/scene_import_settings.cpp
index 6b741b7dd7..ed3eaa94c1 100644
--- a/editor/import/3d/scene_import_settings.cpp
+++ b/editor/import/3d/scene_import_settings.cpp
@@ -117,7 +117,9 @@ class SceneImportSettingsData : public Object {
ERR_FAIL_NULL(settings);
if (r_option.name == "rest_pose/load_pose") {
if (!settings->has("rest_pose/load_pose") || int((*settings)["rest_pose/load_pose"]) != 2) {
- (*settings)["rest_pose/external_animation_library"] = Variant();
+ if (settings->has("rest_pose/external_animation_library")) {
+ (*settings)["rest_pose/external_animation_library"] = Variant();
+ }
}
}
if (r_option.name == "rest_pose/selected_animation") {
@@ -134,7 +136,10 @@ class SceneImportSettingsData : public Object {
}
} break;
case 2: {
- Object *res = (*settings)["rest_pose/external_animation_library"];
+ Object *res = nullptr;
+ if (settings->has("rest_pose/external_animation_library")) {
+ res = (*settings)["rest_pose/external_animation_library"];
+ }
Ref<Animation> anim(res);
Ref<AnimationLibrary> library(res);
if (anim.is_valid()) {