From 9f4f8fcda99dfd517d0d539ab7a8a19a65c6ef63 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Thu, 6 Jun 2024 06:51:11 +0700 Subject: [PATCH] fix(developer): treat js files with unrecognized encodings as non-keyboard files Fixes: KEYMAN-DEVELOPER-201 Fixes: #11687 --- .../Keyman.System.PackageInfoRefreshKeyboards.pas | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/developer/src/common/delphi/packages/Keyman.System.PackageInfoRefreshKeyboards.pas b/developer/src/common/delphi/packages/Keyman.System.PackageInfoRefreshKeyboards.pas index 01e504d7a4..23b7cb4664 100644 --- a/developer/src/common/delphi/packages/Keyman.System.PackageInfoRefreshKeyboards.pas +++ b/developer/src/common/delphi/packages/Keyman.System.PackageInfoRefreshKeyboards.pas @@ -227,7 +227,15 @@ begin // Look for Keyboard_ with TStringStream.Create('', TEncoding.UTF8) do try - LoadFromFile(f.FileName); + try + LoadFromFile(f.FileName); + except + on E:EEncodingError do + begin + // If the file cannot be loaded as UTF-8, we'll ignore it; #11687 + Exit(False); + end; + end; Result := TRegEx.IsMatch(DataString, '\bKeyboard_'+id+'\b', []); finally Free;