From 4374859e04a11a672d57e7d3d8828d6d3b1c28a8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 15 Feb 2025 18:26:40 +0800 Subject: [PATCH] :bug: Fix NPE https://ld246.com/article/1739550445065 --- kernel/api/system.go | 5 ++--- kernel/model/conf.go | 12 ++++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/kernel/api/system.go b/kernel/api/system.go index ca3d1d2ca..5908cebb0 100644 --- a/kernel/api/system.go +++ b/kernel/api/system.go @@ -22,7 +22,6 @@ import ( "os" "path/filepath" "strings" - "sync" "time" "github.com/88250/gulu" @@ -166,7 +165,7 @@ func getEmojiConf(c *gin.Context) { items := []map[string]interface{}{} custom["items"] = items if gulu.File.IsDir(customConfDir) { - model.CustomEmojis = sync.Map{} + model.ClearCustomEmojis() customEmojis, err := os.ReadDir(customConfDir) if err != nil { logging.LogErrorf("read custom emojis failed: %s", err) @@ -224,7 +223,7 @@ func addCustomEmoji(name string, items *[]map[string]interface{}) { *items = append(*items, emoji) imgSrc := "/emojis/" + name - model.CustomEmojis.Store(nameWithoutExt, imgSrc) + model.AddCustomEmoji(nameWithoutExt, imgSrc) } func checkUpdate(c *gin.Context) { diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 9e40090a3..5b0eb9f64 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -691,7 +691,15 @@ func Close(force, setCurrentWorkspace bool, execInstallPkg int) (exitCode int) { return } -var CustomEmojis = sync.Map{} +var customEmojis = sync.Map{} + +func AddCustomEmoji(emojiName, imgSrc string) { + customEmojis.Store(emojiName, imgSrc) +} + +func ClearCustomEmojis() { + customEmojis.Clear() +} func NewLute() (ret *lute.Lute) { ret = util.NewLute() @@ -701,7 +709,7 @@ func NewLute() (ret *lute.Lute) { ret.SetSpellcheck(Conf.Editor.Spellcheck) customEmojiMap := map[string]string{} - CustomEmojis.Range(func(key, value interface{}) bool { + customEmojis.Range(func(key, value interface{}) bool { customEmojiMap[key.(string)] = value.(string) return true })