Browse Source

Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)

ocornut 1 year ago
parent
commit
65dc67f63c
2 changed files with 4 additions and 2 deletions
  1. 1 0
      docs/CHANGELOG.txt
  2. 3 2
      imgui.cpp

+ 1 - 0
docs/CHANGELOG.txt

@@ -43,6 +43,7 @@ Other changes:
 
 - Windows: Scrollbar visibility decision uses current size when both size and contents
   size are submitted by API. (#7252)
+- Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
 - Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive
   frames would erroneously close the window. While it is technically a popup issue
   it would generally manifest when fast moving the mouse bottom to top in a sub-menu.

+ 3 - 2
imgui.cpp

@@ -6629,8 +6629,9 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
         {
             // We don't use a regular button+id to test for double-click on title bar (mostly due to legacy reason, could be fixed), so verify that we don't have items over the title bar.
             ImRect title_bar_rect = window->TitleBarRect();
-            if (g.HoveredWindow == window && g.HoveredId == 0 && g.HoveredIdPreviousFrame == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max) && g.IO.MouseClickedCount[0] == 2)
-                window->WantCollapseToggle = true;
+            if (g.HoveredWindow == window && g.HoveredId == 0 && g.HoveredIdPreviousFrame == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max))
+                if (g.IO.MouseClickedCount[0] == 2 && GetKeyOwner(ImGuiKey_MouseLeft) == ImGuiKeyOwner_None)
+                    window->WantCollapseToggle = true;
             if (window->WantCollapseToggle)
             {
                 window->Collapsed = !window->Collapsed;