From f7f4a38b47359512bd25a120785a4b78e891f53b Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Mon, 23 Oct 2023 00:02:36 +0800 Subject: [PATCH] :bug: fix abnormal debugger output on windows --- src/nasal_err.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/nasal_err.cpp b/src/nasal_err.cpp index 3ff12c0..4f201ac 100644 --- a/src/nasal_err.cpp +++ b/src/nasal_err.cpp @@ -10,11 +10,8 @@ struct for_reset { for_reset() { GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &scr); } - static for_reset* singleton() { - static for_reset windows_set; - return &windows_set; - } }; +static for_reset windows_system_set; #endif std::ostream& back_white(std::ostream& s) { @@ -64,8 +61,10 @@ std::ostream& white(std::ostream& s) { std::ostream& reset(std::ostream& s) { #ifdef _WIN32 - SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), - for_reset::singleton()->scr.wAttributes); + SetConsoleTextAttribute( + GetStdHandle(STD_OUTPUT_HANDLE), + windows_system_set.scr.wAttributes + ); #else s << "\033[0m"; #endif