macOS: Fix a regression in the previous release that caused a crash when pressing a unprintable key, such as the POWER key

Fixes #1997
This commit is contained in:
Kovid Goyal
2019-09-24 16:07:52 +05:30
parent 2a07b3f46a
commit fb1c318a09
2 changed files with 13 additions and 4 deletions

View File

@@ -4,6 +4,13 @@ Changelog
|kitty| is a feature full, cross-platform, *fast*, GPU based terminal emulator.
To update |kitty|, :doc:`follow the instructions <binary>`.
0.14.6 [2019-09-23]
---------------------
- macOS: Fix a regression in the previous release that caused a crash when
pressing a unprintable key, such as the POWER key (:iss:`1997`)
0.14.5 [2019-09-23]
---------------------

View File

@@ -345,10 +345,12 @@ static int translateKey(unsigned int key, bool apply_keymap)
// Look for the effective key name after applying any keyboard layouts/mappings
const char *name_chars = _glfwPlatformGetScancodeName(key);
uint32_t name = 0;
for (int i = 0; i < 4; i++) {
if (!name_chars[i]) break;
name <<= 8;
name |= (uint8_t)name_chars[i];
if (name_chars) {
for (int i = 0; i < 4; i++) {
if (!name_chars[i]) break;
name <<= 8;
name |= (uint8_t)name_chars[i];
}
}
if (name) {
// Key name