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

Fixed a bug where the condition for determining whether the window is selected was incorrect.

This commit is contained in:
TaiseiHamaya 2025-12-23 02:33:46 +09:00
parent e3a70f3b90
commit d55014fd8d

View file

@ -7548,14 +7548,15 @@ void ImGui::RenderWindowDecorations(ImGuiWindow* window, const ImRect& title_bar
// Selected border
const float border_size = window->WindowBorderSize;
if (border_size > 0.0f && title_bar_is_highlight && !(flags & ImGuiWindowFlags_NoTitleBar)) {
if (!window->DockIsActive || window->DockNode->IsFocused) {
const ImU32 border_selected_col = GetColorU32(ImGuiCol_WindowBorderSelected);
RenderWindowOuterSingleBorder(window, 0, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 1, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 2, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 3, border_selected_col, border_size);
}
bool is_window_selected = border_size > 0.0f && title_bar_is_highlight && !(window->Flags & (ImGuiWindowFlags_NoNavFocus | ImGuiWindowFlags_MenuBar));
is_window_selected &= (!window->DockIsActive || window->DockNode->IsFocused);
if (is_window_selected)
{
const ImU32 border_selected_col = GetColorU32(ImGuiCol_WindowBorderSelected);
RenderWindowOuterSingleBorder(window, 0, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 1, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 2, border_selected_col, border_size);
RenderWindowOuterSingleBorder(window, 3, border_selected_col, border_size);
}
}
window->DC.NavLayerCurrent = ImGuiNavLayer_Main;