diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp index 1ee204cb..b63355d4 100644 --- a/src/overlay_params.cpp +++ b/src/overlay_params.cpp @@ -184,6 +184,20 @@ parse_load_value(const char *str) } +static std::vector +parse_str_tokenize(const char *str) +{ + std::vector data; + std::stringstream ss(str); + std::string token; + while (std::getline(ss, token, ',')) { + trim(token); + data.push_back(token); + } + return data; +} + + static unsigned parse_unsigned(const char *str) { @@ -362,7 +376,7 @@ parse_font_glyph_ranges(const char *str) #define parse_cpu_load_color(s) parse_load_color(s) #define parse_gpu_load_value(s) parse_load_value(s) #define parse_cpu_load_value(s) parse_load_value(s) -#define parse_blacklist(s) parse_str(s) +#define parse_blacklist(s) parse_str_tokenize(s) static bool parse_help(const char *str) diff --git a/src/overlay_params.h b/src/overlay_params.h index 5666b2b2..b2e325b6 100644 --- a/src/overlay_params.h +++ b/src/overlay_params.h @@ -198,7 +198,8 @@ struct overlay_params { std::string pci_dev; std::string media_player_name; std::string cpu_text, gpu_text; - std::string blacklist; + //std::string blacklist; + std::vector blacklist; unsigned log_interval; std::vector media_player_order; std::vector benchmark_percentiles; diff --git a/src/vulkan.cpp b/src/vulkan.cpp index 3dadf2a8..0dbe195c 100644 --- a/src/vulkan.cpp +++ b/src/vulkan.cpp @@ -2082,11 +2082,8 @@ static VkResult overlay_CreateInstance( parse_overlay_config(&instance_data->params, getenv("MANGOHUD_CONFIG")); //check for blacklist item in the config file - std::stringstream ss(instance_data->params.blacklist); - std::string token; - while (std::getline(ss, token, ',')) { - trim(token); - add_blacklist(token); + for (auto& item : instance_data->params.blacklist) { + add_blacklist(item); } if (!is_blacklisted()) {