Fix ghost SpriteFramesEditor cause crash

This commit is contained in:
Silc Renew 2023-02-06 14:08:12 +09:00
parent 0b1d516f67
commit 0069131546

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);