IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void. (#1392)

This commit is contained in:
ocornut
2024-07-01 16:13:38 +02:00
parent 50a0f18e6a
commit c554c402d3
3 changed files with 5 additions and 2 deletions

View File

@@ -66,6 +66,9 @@ Other changes:
shape change as honored by backends. Keeping this enabling will hopefully increase pressure shape change as honored by backends. Keeping this enabling will hopefully increase pressure
on third-party backends to set ImGuiBackendFlags_HasMouseCursors and honor changes of on third-party backends to set ImGuiBackendFlags_HasMouseCursors and honor changes of
ImGui::GetMouseCursor() value. (#1495) ImGui::GetMouseCursor() value. (#1495)
- IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button
which was pressed over void/underlying app, which is consistent/needed to allow the
mouse up event of a drag over void/underlying app to catch release. (#1392) [@Moka42]
- IO: Added io.ClearInputMouse() to clear mouse state. (#4921) - IO: Added io.ClearInputMouse() to clear mouse state. (#4921)
- Windows: BeginChild(): fixed a glitch when during a resize of a child window which is - Windows: BeginChild(): fixed a glitch when during a resize of a child window which is
tightly close to the boundaries of its parent (e.g. with zero WindowPadding), the child tightly close to the boundaries of its parent (e.g. with zero WindowPadding), the child

View File

@@ -4598,7 +4598,7 @@ void ImGui::UpdateHoveredWindowAndCaptureFlags()
io.MouseDownOwnedUnlessPopupClose[i] = (g.HoveredWindow != NULL) || has_open_modal; io.MouseDownOwnedUnlessPopupClose[i] = (g.HoveredWindow != NULL) || has_open_modal;
} }
mouse_any_down |= io.MouseDown[i]; mouse_any_down |= io.MouseDown[i];
if (io.MouseDown[i]) if (io.MouseDown[i] || io.MouseReleased[i]) // Increase release frame for our evaluation of earliest button (#1392)
if (mouse_earliest_down == -1 || io.MouseClickedTime[i] < io.MouseClickedTime[mouse_earliest_down]) if (mouse_earliest_down == -1 || io.MouseClickedTime[i] < io.MouseClickedTime[mouse_earliest_down])
mouse_earliest_down = i; mouse_earliest_down = i;
} }

View File

@@ -28,7 +28,7 @@
// Library Version // Library Version
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345') // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
#define IMGUI_VERSION "1.90.9 WIP" #define IMGUI_VERSION "1.90.9 WIP"
#define IMGUI_VERSION_NUM 19084 #define IMGUI_VERSION_NUM 19085
#define IMGUI_HAS_TABLE #define IMGUI_HAS_TABLE
/* /*