Explorar el Código

Merge pull request #97979 from BlueCube3310/fix-thumb-gen

Fix crash when creating thumbnails for 3d textures
Thaddeus Crews hace 10 meses
padre
commit
92e51fca72
Se han modificado 1 ficheros con 7 adiciones y 2 borrados
  1. 7 2
      editor/plugins/editor_preview_plugins.cpp

+ 7 - 2
editor/plugins/editor_preview_plugins.cpp

@@ -112,9 +112,13 @@ Ref<Texture2D> EditorTexturePreviewPlugin::generate(const Ref<Resource> &p_from,
 			return Ref<Texture2D>();
 		}
 
-		const int mid_depth = (tex_3d->get_depth() - 1) / 2;
-
 		Vector<Ref<Image>> data = tex_3d->get_data();
+		if (data.size() != tex_3d->get_depth()) {
+			return Ref<Texture2D>();
+		}
+
+		// Use the middle slice for the thumbnail.
+		const int mid_depth = (tex_3d->get_depth() - 1) / 2;
 		if (!data.is_empty() && data[mid_depth].is_valid()) {
 			img = data[mid_depth]->duplicate();
 		}
@@ -124,6 +128,7 @@ Ref<Texture2D> EditorTexturePreviewPlugin::generate(const Ref<Resource> &p_from,
 			return Ref<Texture2D>();
 		}
 
+		// Use the middle slice for the thumbnail.
 		const int mid_layer = (tex_lyr->get_layers() - 1) / 2;
 
 		Ref<Image> data = tex_lyr->get_layer_data(mid_layer);