diff options
author | Michael Alexsander Silva Dias <michaelalexsander@protonmail.com> | 2019-02-22 10:12:39 -0300 |
---|---|---|
committer | Michael Alexsander Silva Dias <michaelalexsander@protonmail.com> | 2019-02-22 10:12:39 -0300 |
commit | 52abab5aa7a98001808f6781860f23895ea3d6d7 (patch) | |
tree | 97f81f6d110b2dc97b1c2723fdefea18dacc5bba /scene/gui | |
parent | edbf1d0ea49517be80e514595fc71d7069423edb (diff) |
Make 'SplitContainer' update drawing only if actually needs to
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/split_container.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/scene/gui/split_container.cpp b/scene/gui/split_container.cpp index e947216a3a..e5d1844d39 100644 --- a/scene/gui/split_container.cpp +++ b/scene/gui/split_container.cpp @@ -167,14 +167,15 @@ void SplitContainer::_notification(int p_what) { case NOTIFICATION_MOUSE_EXIT: { mouse_inside = false; - update(); + if (get_constant("autohide")) + update(); } break; case NOTIFICATION_DRAW: { if (!_getch(0) || !_getch(1)) return; - if (collapsed || (!mouse_inside && get_constant("autohide"))) + if (collapsed || (!dragging && !mouse_inside && get_constant("autohide"))) return; if (dragger_visibility != DRAGGER_VISIBLE) @@ -248,7 +249,8 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { if (mouse_inside != mouse_inside_state) { mouse_inside = mouse_inside_state; - update(); + if (get_constant("autohide")) + update(); } if (!dragging) |