Merge pull request #72783 from TokageItLab/fix-sprite-ghost

Fix ghost SpriteFramesEditor cause crash
This commit is contained in:
Yuri Sizov 2023-02-06 14:24:04 +03:00 committed by GitHub
commit 54b7685761
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 17 deletions

View File

@ -1171,32 +1171,29 @@ void SpriteFramesEditor::edit(Ref<SpriteFrames> p_frames) {
if (!p_frames.is_valid()) {
frames.unref();
hide();
return;
}
frames = p_frames;
read_only = EditorNode::get_singleton()->is_resource_read_only(p_frames);
if (p_frames.is_valid()) {
if (!p_frames->has_animation(edited_anim)) {
List<StringName> anim_names;
frames->get_animation_list(&anim_names);
anim_names.sort_custom<StringName::AlphCompare>();
if (anim_names.size()) {
edited_anim = anim_names.front()->get();
} else {
edited_anim = StringName();
}
if (!p_frames->has_animation(edited_anim)) {
List<StringName> anim_names;
frames->get_animation_list(&anim_names);
anim_names.sort_custom<StringName::AlphCompare>();
if (anim_names.size()) {
edited_anim = anim_names.front()->get();
} else {
edited_anim = StringName();
}
_update_library();
// Clear zoom and split sheet texture
split_sheet_preview->set_texture(Ref<Texture2D>());
_zoom_reset();
} else {
hide();
}
_update_library();
// Clear zoom and split sheet texture
split_sheet_preview->set_texture(Ref<Texture2D>());
_zoom_reset();
add_anim->set_disabled(read_only);
delete_anim->set_disabled(read_only);
anim_speed->set_editable(!read_only);