diff --git a/src/plugins/lua/bindings/settings.cpp b/src/plugins/lua/bindings/settings.cpp index 03a29ded881..a2d0d22f0a4 100644 --- a/src/plugins/lua/bindings/settings.cpp +++ b/src/plugins/lua/bindings/settings.cpp @@ -553,8 +553,10 @@ void addSettingsModule() setDisplayName(options.get("displayName")); setCategory(Id::fromString(options.get("categoryId"))); setDisplayCategory(options.get("displayCategory")); - setCategoryIconPath( - FilePath::fromUserInput(options.get("categoryIconPath"))); + const FilePath catIcon = options.get>("categoryIconPath") + .value_or(FilePath::fromUserInput( + options.get_or("categoryIconPath", {}))); + setCategoryIconPath(catIcon); AspectContainer *container = options.get("aspectContainer"); setSettingsProvider([container]() { return container; }); } diff --git a/src/plugins/lua/meta/settings.lua b/src/plugins/lua/meta/settings.lua index 4a4cd3ee7d9..caa8a5301a2 100644 --- a/src/plugins/lua/meta/settings.lua +++ b/src/plugins/lua/meta/settings.lua @@ -202,7 +202,7 @@ settings.OptionsPage = {} ---@field displayName string ---@field categoryId string ---@field displayCategory string ----@field categoryIconPath string +---@field categoryIconPath string|FilePath ---@field aspectContainer AspectContainer OptionsPageCreate = {}