Merge remote-tracking branch 'origin/beta' into fix/linux/2552-sed-tier-in-watch

This commit is contained in:
Darcy Wong 2020-02-17 14:34:02 +07:00
commit 9fec9a9ea4
7 changed files with 72 additions and 58 deletions

View file

@ -19,7 +19,14 @@
typedef uint32_t uchar_t;
/* Intentional fallthrough */
#if defined(__clang__)
#define fallthrough [[clang::fallthrough]]
#elif defined(__GNUC__) && __GNUC__ >= 7
#define fallthrough [[gnu::fallthrough]]
#else
#define fallthrough ((void)0)
#endif
template <int N>
struct _utf_codec

View file

@ -1,10 +1,11 @@
# Keyman for Linux Version History
## 2020-02-17 13.0.29 beta
# 2020-02-17 13.0.29 beta
* Bug Fix:
* Fix how tier is determined for debian watch files (#2664)
* Fix keyboard processor compilation for Xenial (#2648)
## 2020-02-11 13.0.28 beta
# 2020-02-11 13.0.28 beta
* Bug Fix:
* Incorporate packaging fixes from 14.0 development (#2624)

View file

@ -3,9 +3,9 @@ Section: utils
Priority: optional
Maintainer: Daniel Glassey <wdg@debian.org>
Build-Depends: debhelper (>= 9), autotools-dev, dh-autoreconf, pkg-config,
libkmnkbp-dev (>=0.0.0~), libibus-1.0-dev (>= 1.2), libjson-glib-dev (>= 1.4.0),
libgtk-3-dev
Standards-Version: 3.9.8
libkmnkbp-dev (>=0.0.0~), libibus-1.0-dev (>= 1.2), libjson-glib-dev (>= 1.4.0) <!pkg.keyman-config.xenial>,
libjson-glib-dev (1.1.2) <pkg.keyman-config.xenial>, libgtk-3-dev
Standards-Version: 4.5.0
Homepage: http://www.keyman.com
Package: ibus-keyman

View file

@ -4,6 +4,7 @@ default: clean version man
python3 setup.py build
install: # run as sudo
pip3 install qrcode
python3 setup.py install
# install icons
mkdir -p /usr/local/share/keyman/icons
@ -26,7 +27,6 @@ uninstall: clean # run as sudo
rm -f /usr/local/bin/km-package-install
rm -f /usr/local/bin/km-package-list-installed
rm -f /usr/local/bin/km-package-uninstall
rm -f /usr/local/bin/qr
clean:
-rm -rf dist make_deb build keyman_config/version.py *.egg-info __pycache__

View file

@ -2,7 +2,7 @@ Source: keyman-config
Maintainer: Daniel Glassey <wdg@debian.org>
Section: python
Priority: optional
Build-Depends: dh-python, python3-setuptools, python3-all, debhelper (>= 9), bash-completion,
Build-Depends: dh-python, python3-setuptools, python3-all, python3-pip, debhelper (>= 9), bash-completion,
python3-magic, python3-qrcode <!pkg.keyman-config.xenial>,
python-qrcode <pkg.keyman-config.xenial>
Standards-Version: 4.5.0

View file

@ -132,7 +132,7 @@ begin
FormName := (FHelpControl as TTIKEForm).HelpTopic
else if FHelpControl is TCustomForm then
FormName := FHelpControl.ClassName
else
else if (FHelpControl <> nil) then
begin
o := FHelpControl.Owner;
while ((o is TframeCEFHost) or not(o is TTIKEForm)) and (o <> nil) do

View file

@ -306,6 +306,7 @@ end;
function TframeTouchLayoutBuilder.Load(const AFilename: string; ALoadFromTemplate, ALoadFromString: Boolean): Boolean;
var
FLastFilename: string;
FBaseFileName: string;
FNewLayoutJS: string;
FTouchLayout: TTouchLayout;
@ -319,6 +320,7 @@ var
begin
FLastErrorOffset := -1;
FLastError := '';
FLastFilename := FFilename;
if FFilename <> '' then
begin
@ -327,66 +329,70 @@ begin
end;
UnregisterSources;
try
if ALoadFromString then
begin
FNewLayoutJS := AFilename;
FFilename := GetNextFilename;
end
else
begin
if ALoadFromTemplate or (AFileName = '') or not FileExists(AFileName) then
if ALoadFromString then
begin
FBaseFileName := FTemplateFileName;
FNewLayoutJS := AFilename;
FFilename := GetNextFilename;
end
else
begin
FBaseFileName := AFileName;
FFilename := AFileName;
end;
with TStringList.Create do
try
LoadFromFile(FBaseFileName, TEncoding.UTF8);
FNewLayoutJS := Text;
finally
Free;
end;
end;
FTouchLayout := TTouchLayout.Create; // I3642
try
if not FTouchLayout.Load(FNewLayoutJS) then
begin
FLastError := FTouchLayout.LoadError; // I4083
FLastErrorOffset := FTouchLayout.LoadErrorOffset; // I4083
Exit(False);
end
else
begin
if (FSavedLayoutJS <> '') and ALoadFromTemplate then
if ALoadFromTemplate or (AFileName = '') or not FileExists(AFileName) then
begin
FOldLayout := TTouchLayout.Create;
try
FOldLayout.Load(FSavedLayoutJS);
if FTouchLayout.Merge(FOldLayout)
then FSavedLayoutJS := FTouchLayout.Save(False)
else FSavedLayoutJS := FNewLayoutJS;
finally
FOldLayout.Free;
end;
FBaseFileName := FTemplateFileName;
FFilename := GetNextFilename;
end
else
FSavedLayoutJS := FNewLayoutJS;
end;
finally
FTouchLayout.Free;
end;
begin
FBaseFileName := AFileName;
FFilename := AFileName;
end;
RegisterSource;
if FState <> '' then
modWebHttpServer.AppSource.RegisterSource(FFilename + '#state', FState, True);
with TStringList.Create do
try
LoadFromFile(FBaseFileName, TEncoding.UTF8);
FNewLayoutJS := Text;
finally
Free;
end;
end;
FTouchLayout := TTouchLayout.Create; // I3642
try
if not FTouchLayout.Load(FNewLayoutJS) then
begin
FLastError := FTouchLayout.LoadError; // I4083
FLastErrorOffset := FTouchLayout.LoadErrorOffset; // I4083
FFilename := FLastFilename;
Exit(False);
end
else
begin
if (FSavedLayoutJS <> '') and ALoadFromTemplate then
begin
FOldLayout := TTouchLayout.Create;
try
FOldLayout.Load(FSavedLayoutJS);
if FTouchLayout.Merge(FOldLayout)
then FSavedLayoutJS := FTouchLayout.Save(False)
else FSavedLayoutJS := FNewLayoutJS;
finally
FOldLayout.Free;
end;
end
else
FSavedLayoutJS := FNewLayoutJS;
end;
finally
FTouchLayout.Free;
end;
finally
RegisterSource;
if FState <> '' then
modWebHttpServer.AppSource.RegisterSource(FFilename + '#state', FState, True);
end;
try
DoLoad;