diff --git a/src/core/devtools/layer.cpp b/src/core/devtools/layer.cpp index 7e25f1091..de0789223 100644 --- a/src/core/devtools/layer.cpp +++ b/src/core/devtools/layer.cpp @@ -17,7 +17,7 @@ using namespace ImGui; using namespace Core::Devtools; using L = Core::Devtools::Layer; -static bool show_simple_fps = false; +static bool show_simple_fps = true; static bool show_advanced_debug = false; static int dump_frame_count = 1; @@ -149,9 +149,7 @@ void L::SetupSettings() { }; handler.ReadLineFn = [](ImGuiContext*, ImGuiSettingsHandler*, void*, const char* line) { int v; - if (sscanf(line, "show_simple_fps=%d", &v) == 1) { - show_simple_fps = v != 0; - } else if (sscanf(line, "show_advanced_debug=%d", &v) == 1) { + if (sscanf(line, "show_advanced_debug=%d", &v) == 1) { show_advanced_debug = v != 0; } else if (sscanf(line, "show_frame_graph=%d", &v) == 1) { frame_graph.is_open = v != 0; @@ -161,7 +159,6 @@ void L::SetupSettings() { }; handler.WriteAllFn = [](ImGuiContext*, ImGuiSettingsHandler* handler, ImGuiTextBuffer* buf) { buf->appendf("[%s][Data]\n", handler->TypeName); - buf->appendf("show_simple_fps=%d\n", show_simple_fps); buf->appendf("show_advanced_debug=%d\n", show_advanced_debug); buf->appendf("show_frame_graph=%d\n", frame_graph.is_open); buf->appendf("dump_frame_count=%d\n", dump_frame_count); diff --git a/src/imgui/renderer/imgui_core.cpp b/src/imgui/renderer/imgui_core.cpp index feda54a88..596d19166 100644 --- a/src/imgui/renderer/imgui_core.cpp +++ b/src/imgui/renderer/imgui_core.cpp @@ -35,6 +35,7 @@ std::deque>& GetChangeLayers() { } static std::mutex change_layers_mutex{}; +static ImGuiID dock_id; namespace ImGui { @@ -106,6 +107,10 @@ void Initialize(const ::Vulkan::Instance& instance, const Frontend::WindowSDL& w Vulkan::Init(vk_info); TextureManager::StartWorker(); + + char label[32]; + ImFormatString(label, IM_ARRAYSIZE(label), "WindowOverViewport_%08X", GetMainViewport()->ID); + dock_id = ImHashStr(label); } void OnResize() { @@ -147,8 +152,10 @@ bool ProcessEvent(SDL_Event* event) { case SDL_EVENT_GAMEPAD_BUTTON_DOWN: case SDL_EVENT_GAMEPAD_AXIS_MOTION: case SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN: - case SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION: - return GetIO().NavActive; + case SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION: { + const auto& io = GetIO(); + return io.NavActive && io.Ctx->NavWindow != nullptr && io.Ctx->NavWindow->ID != dock_id; + } default: return false; }