浏览代码

Nav: clear activeid on menu toggle (so pressing Alt leaving an InputText will steal ActiveID. Previously wouldn't not, but ButtonBehavior() hover logic would not show Menu layer item as hovered when ActiveId != 0). (#787)

(Adjacent to #370)
ocornut 4 年之前
父节点
当前提交
4540177ce7
共有 2 个文件被更改,包括 3 次插入0 次删除
  1. 1 0
      docs/CHANGELOG.txt
  2. 2 0
      imgui.cpp

+ 1 - 0
docs/CHANGELOG.txt

@@ -44,6 +44,7 @@ Other Changes:
 - Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). (#4010)
 - Window: Fix IsWindowAppearing() from returning true twice in most cases. (#3982, #1497, #1061)
 - Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag.
+- Nav: Fixed toggling menu layer while an InputText() is active not stealing active id.
 - Tables: Expose TableSetColumnEnabled() in public api. (#3935)
 - Tables: Better preserve widths when columns count changes. (#4046)
 - TabBar: Fixed mouse reordering with very fast movements (e.g. crossing multiple tabs in a single

+ 2 - 0
imgui.cpp

@@ -9648,6 +9648,8 @@ static void ImGui::NavUpdateWindowing()
     // Apply menu/layer toggle
     if (apply_toggle_layer && g.NavWindow)
     {
+        ClearActiveID();
+
         // Move to parent menu if necessary
         ImGuiWindow* new_nav_window = g.NavWindow;
         while (new_nav_window->ParentWindow