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

WindowServer: Don't "enter" menu item when hovering over a separator

Since menu separator items don't have an associated identifier,
make sure we don't falsely report that we've enter item 0.

This fixes an issue where hovering over a separator would behave
as if we'd hovered over the first item in the menu wrt sending
MenuItemEntered.
Andreas Kling 4 лет назад
Родитель
Сommit
ec6debb
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      Userland/Services/WindowServer/Menu.cpp

+ 4 - 1
Userland/Services/WindowServer/Menu.cpp

@@ -556,8 +556,11 @@ int Menu::item_index_at(const Gfx::IntPoint& position)
 {
     int i = 0;
     for (auto& item : m_items) {
-        if (item.rect().contains(position))
+        if (item.rect().contains(position)) {
+            if (item.type() == MenuItem::Type::Separator)
+                return -1;
             return i;
+        }
         ++i;
     }
     return -1;