diff options
author | kobewi <kobewi4e@gmail.com> | 2023-02-15 21:25:40 +0100 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2023-02-16 14:35:09 +0100 |
commit | a12921ca2cff0a80dd62c04339842fa7674e05ed (patch) | |
tree | 58f5778a76bd438a91dd432264a69648dcbfa67d /scene | |
parent | f2aae8fa5c2e9d9323832fb43c8446c2e518d698 (diff) |
Fix crash with AspectRatioContainer and TextureRect
Diffstat (limited to 'scene')
-rw-r--r-- | scene/gui/aspect_ratio_container.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/scene/gui/aspect_ratio_container.cpp b/scene/gui/aspect_ratio_container.cpp index 802189c374..94240ccead 100644 --- a/scene/gui/aspect_ratio_container.cpp +++ b/scene/gui/aspect_ratio_container.cpp @@ -30,6 +30,8 @@ #include "aspect_ratio_container.h" +#include "scene/gui/texture_rect.h" + Size2 AspectRatioContainer::get_minimum_size() const { Size2 ms; for (int i = 0; i < get_child_count(); i++) { @@ -113,6 +115,16 @@ void AspectRatioContainer::_notification(int p_what) { if (c->is_set_as_top_level()) { continue; } + + // Temporary fix for editor crash. + TextureRect *trect = Object::cast_to<TextureRect>(c); + if (trect) { + if (trect->get_expand_mode() == TextureRect::EXPAND_FIT_WIDTH_PROPORTIONAL || trect->get_expand_mode() == TextureRect::EXPAND_FIT_HEIGHT_PROPORTIONAL) { + WARN_PRINT_ONCE("Proportional TextureRect is currently not supported inside AspectRatioContainer"); + continue; + } + } + Size2 child_minsize = c->get_combined_minimum_size(); Size2 child_size = Size2(ratio, 1.0); float scale_factor = 1.0; |