From 9f5c57c8c56e4e86fa35b466792e07654ce26fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Wed, 21 May 2025 13:12:41 +0300 Subject: [PATCH] Improve SVGTexture lazy loading. --- scene/resources/svg_texture.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scene/resources/svg_texture.cpp b/scene/resources/svg_texture.cpp index 1499fa972f..274126a4c8 100644 --- a/scene/resources/svg_texture.cpp +++ b/scene/resources/svg_texture.cpp @@ -237,8 +237,6 @@ void SVGTexture::_clear() { void SVGTexture::_update_texture() { _clear(); - _ensure_scale(1.0); - emit_changed(); } @@ -252,10 +250,12 @@ Ref SVGTexture::get_image() const { } int SVGTexture::get_width() const { + _ensure_scale(1.0); return size.x; } int SVGTexture::get_height() const { + _ensure_scale(1.0); return size.y; } @@ -342,7 +342,10 @@ void SVGTexture::set_size_override(const Size2i &p_size) { return; } size_override = p_size; - size = base_size; + if (size_override.x == 0 || size_override.y == 0) { + _ensure_scale(1.0); + size = base_size; + } if (size_override.x != 0) { size.x = size_override.x; }