Browse Source

Merge pull request #26331 from hpvb/fix-26284

Don't crash on previewing an AtlasTexture without a region
Hein-Pieter van Braam 6 years ago
parent
commit
9434db47dc
2 changed files with 8 additions and 0 deletions
  1. 5 0
      editor/plugins/editor_preview_plugins.cpp
  2. 3 0
      scene/resources/texture.cpp

+ 5 - 0
editor/plugins/editor_preview_plugins.cpp

@@ -92,7 +92,12 @@ Ref<Texture> EditorTexturePreviewPlugin::generate(const RES &p_from, const Size2
 		if (!tex.is_valid()) {
 			return Ref<Texture>();
 		}
+
 		Ref<Image> atlas = tex->get_data();
+		if (!atlas.is_valid()) {
+			return Ref<Texture>();
+		}
+
 		img = atlas->get_rect(atex->get_region());
 	} else if (ltex.is_valid()) {
 		img = ltex->to_image();

+ 3 - 0
scene/resources/texture.cpp

@@ -426,6 +426,8 @@ ImageTexture::ImageTexture() {
 	texture = VisualServer::get_singleton()->texture_create();
 	storage = STORAGE_RAW;
 	lossy_storage_quality = 0.7;
+	image_stored = false;
+	format = Image::Format::FORMAT_L8;
 }
 
 ImageTexture::~ImageTexture() {
@@ -1514,6 +1516,7 @@ CubeMap::CubeMap() {
 	cubemap = VisualServer::get_singleton()->texture_create();
 	storage = STORAGE_RAW;
 	lossy_storage_quality = 0.7;
+	format = Image::Format::FORMAT_BPTC_RGBA;
 }
 
 CubeMap::~CubeMap() {