Quellcode durchsuchen

Merge pull request #65117 from YeldhamDev/menubar_key_fix

Fix switching `MenuBar`'s menus with the keys while mouse hovering
Rémi Verschelde vor 3 Jahren
Ursprung
Commit
0a34994720
2 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen
  1. 5 0
      scene/gui/menu_bar.cpp
  2. 1 0
      scene/gui/menu_bar.h

+ 5 - 0
scene/gui/menu_bar.cpp

@@ -377,6 +377,11 @@ void MenuBar::_notification(int p_what) {
 			MutexLock lock(mutex);
 
 			Vector2 pos = DisplayServer::get_singleton()->mouse_get_position() - mouse_pos_adjusted - get_global_position();
+			if (pos == old_mouse_pos) {
+				return;
+			}
+			old_mouse_pos = pos;
+
 			int index = _get_index_at_point(pos);
 			if (index >= 0 && index != active_menu) {
 				selected_menu = index;

+ 1 - 0
scene/gui/menu_bar.h

@@ -73,6 +73,7 @@ class MenuBar : public Control {
 	int active_menu = -1;
 
 	Vector2i mouse_pos_adjusted;
+	Vector2i old_mouse_pos;
 	ObjectID shortcut_context;
 
 	int _get_index_at_point(const Point2 &p_point) const;