1
0
Fork 0
mirror of https://github.com/ocornut/imgui.git synced 2026-01-11 00:04:24 +00:00

Windows, Viewports: clear ImGuiViewportFlags_NoInputs consistently with how it is set.

This commit is contained in:
ocornut 2025-07-30 18:42:49 +09:00
parent 80d78fad7c
commit 63f00dae6b

View file

@ -5229,7 +5229,9 @@ void ImGui::StopMouseMovingWindow()
g.MouseViewport = window->Viewport;
// Clear the NoInputs window flag set by the Viewport system in AddUpdateViewport()
window->Viewport->Flags &= ~ImGuiViewportFlags_NoInputs;
const bool window_can_use_inputs = ((window->Flags & ImGuiWindowFlags_NoMouseInputs) && (window->Flags & ImGuiWindowFlags_NoNavInputs)) == false;
if (window_can_use_inputs)
window->Viewport->Flags &= ~ImGuiViewportFlags_NoInputs;
}
g.MovingWindow = NULL;
@ -16588,9 +16590,10 @@ ImGuiViewportP* ImGui::AddUpdateViewport(ImGuiWindow* window, ImGuiID id, const
flags |= ImGuiViewportFlags_IsPlatformWindow;
if (window != NULL)
{
const bool window_can_use_inputs = ((window->Flags & ImGuiWindowFlags_NoMouseInputs) && (window->Flags & ImGuiWindowFlags_NoNavInputs)) == false;
if (g.MovingWindow && g.MovingWindow->RootWindowDockTree == window)
flags |= ImGuiViewportFlags_NoInputs | ImGuiViewportFlags_NoFocusOnAppearing;
if ((window->Flags & ImGuiWindowFlags_NoMouseInputs) && (window->Flags & ImGuiWindowFlags_NoNavInputs))
if (!window_can_use_inputs)
flags |= ImGuiViewportFlags_NoInputs;
if (window->Flags & ImGuiWindowFlags_NoFocusOnAppearing)
flags |= ImGuiViewportFlags_NoFocusOnAppearing;