소스 검색

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

Fix ghost SpriteFramesEditor cause crash
Yuri Sizov 2 년 전
부모
커밋
54b7685761
1개의 변경된 파일14개의 추가작업 그리고 17개의 파일을 삭제
  1. 14 17
      editor/plugins/sprite_frames_editor_plugin.cpp

+ 14 - 17
editor/plugins/sprite_frames_editor_plugin.cpp

@@ -1171,32 +1171,29 @@ void SpriteFramesEditor::edit(Ref<SpriteFrames> p_frames) {
 
 
 	if (!p_frames.is_valid()) {
 	if (!p_frames.is_valid()) {
 		frames.unref();
 		frames.unref();
+		hide();
 		return;
 		return;
 	}
 	}
 
 
 	frames = p_frames;
 	frames = p_frames;
 	read_only = EditorNode::get_singleton()->is_resource_read_only(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);
 	add_anim->set_disabled(read_only);
 	delete_anim->set_disabled(read_only);
 	delete_anim->set_disabled(read_only);
 	anim_speed->set_editable(!read_only);
 	anim_speed->set_editable(!read_only);