diff --git a/src/debug/Log.cpp b/src/debug/Log.cpp index 8d84840e..e70617d3 100644 --- a/src/debug/Log.cpp +++ b/src/debug/Log.cpp @@ -71,6 +71,8 @@ void Debug::log(eLogLevel level, std::string str) { } // log it to the stdout too. - if (!m_disableStdout) + if (!m_disableStdout) { std::println("{}", ((m_coloredLogs && !**m_coloredLogs) ? str : coloredStr)); + std::fflush(stdout); + } } diff --git a/src/plugins/HookSystem.cpp b/src/plugins/HookSystem.cpp index dccb4cd0..242b8d30 100644 --- a/src/plugins/HookSystem.cpp +++ b/src/plugins/HookSystem.cpp @@ -245,6 +245,7 @@ bool CFunctionHook::unhook() { m_hookLen = 0; m_trampoLen = 0; m_trampolineAddr = nullptr; // no unmapping, it's managed by the HookSystem + m_original = nullptr; m_originalBytes.clear(); return true; @@ -305,12 +306,6 @@ static uintptr_t seekNewPageAddr() { lastStart = start; lastEnd = end; continue; - } else if (!anchoredToHyprland) { - Debug::log(LOG, "seekNewPageAddr: Anchored to hyprland at 0x{:x}", start); - anchoredToHyprland = true; - lastStart = start; - lastEnd = end; - continue; } Debug::log(LOG, "seekNewPageAddr: found gap: 0x{:x}-0x{:x} ({} bytes)", lastEnd, start, start - lastEnd); @@ -318,6 +313,11 @@ static uintptr_t seekNewPageAddr() { return lastEnd; } + if (!anchoredToHyprland && line.contains("Hyprland")) { + Debug::log(LOG, "seekNewPageAddr: Anchored to hyprland at 0x{:x}", start); + anchoredToHyprland = true; + } + lastStart = start; lastEnd = end; }