mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 20:07:01 +00:00
Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. (#3025)
This commit is contained in:
parent
b62f1ea8e9
commit
8836975dcf
@ -36,6 +36,8 @@ HOW TO UPDATE?
|
|||||||
|
|
||||||
Other Changes:
|
Other Changes:
|
||||||
|
|
||||||
|
- Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. In the docking
|
||||||
|
branch pressing arrow keys while dragging a window from a tab could trigger an assert. (#3025)
|
||||||
- ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced
|
- ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced
|
||||||
by default for standalone ColorButton.
|
by default for standalone ColorButton.
|
||||||
- InputText: Fixed password fields displaying ASCII spaces as blanks instead of using the '*'
|
- InputText: Fixed password fields displaying ASCII spaces as blanks instead of using the '*'
|
||||||
|
@ -3254,6 +3254,9 @@ void ImGui::StartMouseMovingWindow(ImGuiWindow* window)
|
|||||||
|
|
||||||
// Handle mouse moving window
|
// Handle mouse moving window
|
||||||
// Note: moving window with the navigation keys (Square + d-pad / CTRL+TAB + Arrows) are processed in NavUpdateWindowing()
|
// Note: moving window with the navigation keys (Square + d-pad / CTRL+TAB + Arrows) are processed in NavUpdateWindowing()
|
||||||
|
// FIXME: We don't have strong guarantee that g.MovingWindow stay synched with g.ActiveId == g.MovingWindow->MoveId.
|
||||||
|
// This is currently enforced by the fact that BeginDragDropSource() is setting all g.ActiveIdUsingXXXX flags to inhibit navigation inputs,
|
||||||
|
// but if we should more thoroughly test cases where g.ActiveId or g.MovingWindow gets changed and not the other.
|
||||||
void ImGui::UpdateMouseMovingWindowNewFrame()
|
void ImGui::UpdateMouseMovingWindowNewFrame()
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
@ -8999,6 +9002,11 @@ bool ImGui::BeginDragDropSource(ImGuiDragDropFlags flags)
|
|||||||
return false;
|
return false;
|
||||||
source_parent_id = window->IDStack.back();
|
source_parent_id = window->IDStack.back();
|
||||||
source_drag_active = IsMouseDragging(mouse_button);
|
source_drag_active = IsMouseDragging(mouse_button);
|
||||||
|
|
||||||
|
// Disable navigation and key inputs while dragging
|
||||||
|
g.ActiveIdUsingNavDirMask = ~(ImU32)0;
|
||||||
|
g.ActiveIdUsingNavInputMask = ~(ImU32)0;
|
||||||
|
g.ActiveIdUsingKeyInputMask = ~(ImU64)0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user