diff options
author | Hein-Pieter van Braam <hp@tmm.cx> | 2019-02-27 00:44:09 +0000 |
---|---|---|
committer | Hein-Pieter van Braam <hp@tmm.cx> | 2019-02-27 00:44:09 +0000 |
commit | 464e1142c48da5d24fb9d2462b707b695f9b5adc (patch) | |
tree | afcea9919530d7414f876734d1c33c29f24bf78f | |
parent | 270bbee018ff42f3e9fa400d960a6c63a4918f3a (diff) |
Don't crash on previewing an AtlasTexture without a region
-rw-r--r-- | editor/plugins/editor_preview_plugins.cpp | 5 | ||||
-rw-r--r-- | scene/resources/texture.cpp | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 3cf46e5b91..58d7968723 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/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(); diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 430db59e44..1ce31374d9 100644 --- a/scene/resources/texture.cpp +++ b/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() { |