summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2019-02-22 10:12:39 -0300
committerMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2019-02-22 10:12:39 -0300
commit52abab5aa7a98001808f6781860f23895ea3d6d7 (patch)
tree97f81f6d110b2dc97b1c2723fdefea18dacc5bba /scene/gui
parentedbf1d0ea49517be80e514595fc71d7069423edb (diff)
Make 'SplitContainer' update drawing only if actually needs to
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/split_container.cpp8
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)