summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHein-Pieter van Braam <hp@tmm.cx>2019-02-27 00:44:09 +0000
committerHein-Pieter van Braam <hp@tmm.cx>2019-02-27 00:44:09 +0000
commit464e1142c48da5d24fb9d2462b707b695f9b5adc (patch)
treeafcea9919530d7414f876734d1c33c29f24bf78f
parent270bbee018ff42f3e9fa400d960a6c63a4918f3a (diff)
Don't crash on previewing an AtlasTexture without a region
-rw-r--r--editor/plugins/editor_preview_plugins.cpp5
-rw-r--r--scene/resources/texture.cpp3
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() {