Merge pull request #536 from keymanapp/developer-fixup-kvks-project-build

Fixup web build sourcing missing .kvk when building in a project with a separate buildpath and using .kvks
This commit is contained in:
Marc Durdin 2018-01-22 20:36:19 +07:00 committed by GitHub
commit 821ba78356
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View file

@ -304,6 +304,7 @@ var
begin
FCallback := Callback;
FInFile := InFile;
FOutFile := OutFile; // I4140 // I4155 // I4154
FDebug := Debug; // I3681
FError := False; // I1971
@ -338,7 +339,6 @@ begin
begin
with TStringStream.Create(WriteCompiledKeyboard, TEncoding.UTF8) do
try
FOutFile := OutFile; // I4140 // I4155 // I4154
SaveToFile(OutFile);
finally
Free;
@ -1504,7 +1504,11 @@ begin
if sVisualKeyboard <> '' then
begin
try
sVisualKeyboard := VisualKeyboardFromFile(ExtractFilePath(FInFile) + sVisualKeyboard);
// The Keyman .kmx compiler will change the value of this store from a
// .kvks to a .kvk during the build. Earlier in the build, the visual keyboard
// would have been compiled, so we need to account for that and use that file.
sVisualKeyboard := VisualKeyboardFromFile(ExtractFilePath(FOutFile) + sVisualKeyboard);
except
on E:EFOpenError do // I3947
begin

View file

@ -8,6 +8,8 @@
* Keyman Developer visual editors now supports keyboards that distinguish left and right ctrl/alt for web/mobile targets (#342)
* The `&version` store is now optional and the compiler will determine and report on the minimum version required if it is not present (#334)
* Add support for processing `.keyboard_info` files to command line compiler (#331)
* Packages can now include .js files for deployment to iOS and Android (#461)
* The keyboard compiler now generates .js files that do not include version numbers in the filename (#528)
## 9.0.523 stable
* Fix: When a longpress popup is being edited, selecting another primary key can copy the details to that key's popup (additional scenario, I4926)

View file

@ -166,7 +166,7 @@ begin
{ kbdname }
node := FindNode('kbdname', header);
if Assigned(node) then
FKbd.Header.AssociatedKeyboard := node.NodeValue;
FKbd.Header.AssociatedKeyboard := VarToStr(node.NodeValue);
{ flags }
FKbd.Header.Flags := [];