MultiSelect, TreeNode, Drag and Drop: fixed an issue where carrying a drag and drop payload over an already open tree node would select it. (#7850)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index b265121..3f0d9c4 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -43,6 +43,8 @@
Other changes:
+- MultiSelect, TreeNode, Drag and Drop: fixed an issue where carrying a drag and drop
+ payload over an already open tree node would incorrectly select it. (#7850)
- Backends: GLFW: added ImGui_ImplGlfw_Sleep() helper function because GLFW does not
provide a way to do a portable sleep. (#7844)
- Examples: GLFW (all), SDL2 (all), SDL3 (all), Win32+OpenGL3: rework examples main loop
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 5ca9a9d..0f0134b 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -6531,6 +6531,8 @@
IM_ASSERT(button_flags & ImGuiButtonFlags_PressedOnDragDropHold);
if (!is_open) // When using Drag and Drop "hold to open" we keep the node highlighted after opening, but never close it again.
toggled = true;
+ else
+ pressed = false; // Cancel press so it doesn't trigger selection.
}
if (g.NavId == id && g.NavMoveDir == ImGuiDir_Left && is_open)