Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)

+ Added test "widgets_dragdrop_new_payloads" in Test Suite.
features/potocpav-newer-lines-2
ocornut ago%!(EXTRA string=2 years)
parent ffe0abbfc2
commit 856c6314ec
  1. 3
      docs/CHANGELOG.txt
  2. 2
      imgui.cpp

@ -42,6 +42,9 @@ HOW TO UPDATE?
inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
- ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left to
move the color button on the left side (regression introduced in 1.88 WIP 2022/02/28). (#5912)
- Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value if a drag source is
active but a payload hasn't been submitted yet. This is convenient to detect new payload
from within a drag source handler. (#5910, #143)
- Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)

@ -12023,7 +12023,7 @@ void ImGui::RenderDragDropTargetRect(const ImRect& bb)
const ImGuiPayload* ImGui::GetDragDropPayload()
{
ImGuiContext& g = *GImGui;
return g.DragDropActive ? &g.DragDropPayload : NULL;
return (g.DragDropActive && g.DragDropPayload.DataFrameCount != -1) ? &g.DragDropPayload : NULL;
}
// We don't really use/need this now, but added it for the sake of consistency and because we might need it later.

Loading…
Cancel
Save