瀏覽代碼

Merge pull request #34781 from fossegutten/button-flash

Fixes button flashing when releasing mousebutton outside
Rémi Verschelde 5 年之前
父節點
當前提交
6f279ed6eb
共有 1 個文件被更改,包括 9 次插入1 次删除
  1. 9 1
      scene/gui/base_button.cpp

+ 9 - 1
scene/gui/base_button.cpp

@@ -171,9 +171,17 @@ void BaseButton::on_action_event(Ref<InputEvent> p_event) {
 		}
 	}
 
-	if (!p_event->is_pressed()) { // pressed state should be correct with button_up signal
+	if (!p_event->is_pressed()) {
+		Ref<InputEventMouseButton> mouse_button = p_event;
+		if (mouse_button.is_valid()) {
+			if (!has_point(mouse_button->get_position())) {
+				status.hovering = false;
+			}
+		}
+		// pressed state should be correct with button_up signal
 		emit_signal("button_up");
 		status.press_attempt = false;
+		status.pressing_inside = false;
 	}
 
 	update();