浏览代码

Reset button state on exit tree

Steps to reproduce a bug:
1) Hold / hover the button
2) Remove it (or parent node) from the tree
3) When we return the button back to the tree, it's pressed / hover
Alexey Kashlakov 6 年之前
父节点
当前提交
c7fbc63cc2
共有 1 个文件被更改,包括 1 次插入4 次删除
  1. 1 4
      scene/gui/base_button.cpp

+ 1 - 4
scene/gui/base_button.cpp

@@ -282,10 +282,7 @@ void BaseButton::_notification(int p_what) {
 	if (p_what == NOTIFICATION_ENTER_TREE) {
 	}
 
-	if (p_what == NOTIFICATION_EXIT_TREE) {
-	}
-
-	if (p_what == NOTIFICATION_VISIBILITY_CHANGED && !is_visible_in_tree()) {
+	if (p_what == NOTIFICATION_EXIT_TREE || (p_what == NOTIFICATION_VISIBILITY_CHANGED && !is_visible_in_tree())) {
 
 		if (!toggle_mode) {
 			status.pressed = false;