Просмотр исходного кода

- Fix BaseButton "Click on Press" issue. Now a button correctly show its visual "Pressed" status when "Click on Press" is enabled and the button is clicked.

Guy Rabiller 11 лет назад
Родитель
Сommit
41d1f9b7d6
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      scene/gui/base_button.cpp

+ 11 - 1
scene/gui/base_button.cpp

@@ -55,6 +55,9 @@ void BaseButton::_input_event(InputEvent p_event) {
 				if (b.pressed) {
 
 					if (!toggle_mode) { //mouse press attempt
+					
+            status.press_attempt=true;
+            status.pressing_inside=true;
 
 						pressed();
 						emit_signal("pressed");
@@ -71,8 +74,15 @@ void BaseButton::_input_event(InputEvent p_event) {
 					}
 
 
+        } else {
+          
+          if (status.press_attempt &&status.pressing_inside) {
+		        pressed();
+		        emit_signal("pressed");
+          }
+          status.press_attempt=false;
 				}
-
+				update();
 				break;
 			}