From 9b038dc848f580868422972d5c2e2963544d3944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Wed, 24 Jul 2024 15:38:54 +0800 Subject: [PATCH] Global: fix JSON option `modules.keyIcon` doesn't work --- src/common/jsonconfig.c | 7 +++++++ src/common/option.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/jsonconfig.c b/src/common/jsonconfig.c index 6f7cb6d70..384d8f0b4 100644 --- a/src/common/jsonconfig.c +++ b/src/common/jsonconfig.c @@ -37,6 +37,11 @@ bool ffJsonConfigParseModuleArgs(const char* key, yyjson_val* val, FFModuleArgs* moduleArgs->keyWidth = (uint32_t) yyjson_get_uint(val); return true; } + else if(ffStrEqualsIgnCase(key, "keyIcon")) + { + ffStrbufSetS(&moduleArgs->keyIcon, yyjson_get_str(val)); + return true; + } return false; } @@ -50,6 +55,8 @@ void ffJsonConfigGenerateModuleArgsConfig(yyjson_mut_doc* doc, yyjson_mut_val* m yyjson_mut_obj_add_strbuf(doc, module, "keyColor", &moduleArgs->keyColor); if (moduleArgs->keyWidth != defaultModuleArgs->keyWidth) yyjson_mut_obj_add_uint(doc, module, "keyWidth", moduleArgs->keyWidth); + if (!ffStrbufEqual(&defaultModuleArgs->keyIcon, &moduleArgs->keyIcon)) + yyjson_mut_obj_add_strbuf(doc, module, "keyIcon", &moduleArgs->keyIcon); } const char* ffJsonConfigParseEnum(yyjson_val* val, int* result, FFKeyValuePair pairs[]) diff --git a/src/common/option.h b/src/common/option.h index 218ef6a21..10576c0ff 100644 --- a/src/common/option.h +++ b/src/common/option.h @@ -97,7 +97,7 @@ static inline void ffOptionDestroyModuleArg(FFModuleArgs* args) { ffStrbufDestroy(&args->key); ffStrbufDestroy(&args->keyColor); + ffStrbufDestroy(&args->keyIcon); ffStrbufDestroy(&args->outputFormat); ffStrbufDestroy(&args->outputColor); - ffStrbufDestroy(&args->keyIcon); }