diff options
author | Guilherme Felipe <guilhermefelipecgs@gmail.com> | 2018-06-30 21:36:54 -0300 |
---|---|---|
committer | Guilherme Felipe <guilhermefelipecgs@gmail.com> | 2018-07-01 09:48:03 -0300 |
commit | b2e78e117ca5560f5b9290b2f333d054b9756a3e (patch) | |
tree | a29dc554393dee75a4902c648c5649b9f1461bf0 | |
parent | 3852c5f8a0b439a8c0c6e72433d6fe82e3e596de (diff) |
Fix performance for godot's interface
-rw-r--r-- | scene/gui/control.cpp | 9 | ||||
-rw-r--r-- | scene/gui/item_list.cpp | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 18a0cd13d9..6ef8016dd5 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -160,9 +160,16 @@ void Control::_update_minimum_size_cache() { Size2 minsize = get_minimum_size(); minsize.x = MAX(minsize.x, data.custom_minimum_size.x); minsize.y = MAX(minsize.y, data.custom_minimum_size.y); + + bool size_changed = false; + if (data.minimum_size_cache != minsize) + size_changed = true; + data.minimum_size_cache = minsize; data.minimum_size_valid = true; - minimum_size_changed(); + + if (size_changed) + minimum_size_changed(); } Size2 Control::get_combined_minimum_size() const { diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 57b9a9a11b..72ed0e9b81 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -942,6 +942,7 @@ void ItemList::_notification(int p_what) { } } + minimum_size_changed(); shape_changed = false; } |