fix(developer): Use 'desktop' for target in OSK fill temp keyboard

When the IDE fills the On Screen Keyboard on the basis of the .kmn
rules, it generates a temporary .kmn and builds it. When it does this,
it temporarily replaces the `&targets` system store with one that is
supposed to ensure that a .kmx is generated. However, previously, for
reasons long lost in history, the store was filled with the value
'windows native'.

'native' is not a valid target (this may be due to confusion with
`if(&platform)` where 'native' is permitted), and now the compiler
verifies `&targets` (as of #11918), so this broke the compile.

Now uses 'desktop' (which encompasses 'windows', 'macos', 'linux').

Fixes: #13256
Relates-to: #11918
This commit is contained in:
Marc Durdin 2025-02-18 10:53:38 +07:00
parent 04f279ff71
commit 64410d02e9

View file

@ -3000,7 +3000,7 @@ begin
else kbdparser.KeyboardText := frameSource.EditorText;
kbdparser.AddRequiredLines;
kbdparser.SetSystemStoreValue(ssTargets, 'windows native');
kbdparser.SetSystemStoreValue(ssTargets, 'desktop');
kbdparser.SetSystemStoreValue(ssVersion, SKeymanVersion90);
kbdparser.DeleteSystemStore(ssVisualKeyboard);
kbdparser.DeleteSystemStore(ssBitmap);