diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-16 18:34:41 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-16 18:34:41 +0100 |
commit | 25da47edd6c6b784790dede6033d02f0caa1f800 (patch) | |
tree | 80c389453770a71eed6f6ea762172cb3d111a1a8 /scene | |
parent | f3934d1bf5a2374af1fdd59a3eb7dce917e0bc59 (diff) | |
parent | a12921ca2cff0a80dd62c04339842fa7674e05ed (diff) |
Merge pull request #73396 from KoBeWi/sorry
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; |