Skip to content

Commit

Permalink
Add recover
Browse files Browse the repository at this point in the history
  • Loading branch information
lixmal committed Jul 10, 2024
1 parent 98e48e7 commit 8900860
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions client/ui/font_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,20 @@ func (s *serviceClient) getWindowsFontFilePath() (fontPath string) {
}
)

defer func() {
if r := recover(); r != nil {
log.Errorf("Recovered from panic in getWindowsFontFilePath: %v", r)
fontPath = path.Join("C:/Windows/Fonts", fontMapping["default"])
}
}()

kernel32 := windows.NewLazySystemDLL("kernel32.dll")
getUserDefaultLocaleName := kernel32.NewProc("GetUserDefaultLocaleName")

buf := make([]uint16, 85) // LOCALE_NAME_MAX_LENGTH is usually 85
r, _, _ := getUserDefaultLocaleName.Call(uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)))
if r == 0 {
log.Error("Failed to get Windows default language setting")
r, _, err := getUserDefaultLocaleName.Call(uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)))
if r == 0 || err != nil {
log.Errorf("Failed to get Windows default language setting: %v", err)
fontPath = path.Join(fontFolder, fontMapping["default"])
return
}
Expand Down

0 comments on commit 8900860

Please sign in to comment.