mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r12428) -Fix [FS#1878]: loading from the config file could fail even when the data is correct. Patch by Dominik.
This commit is contained in:
parent
f241b0acd4
commit
3d8bd6245e
|
@ -299,14 +299,22 @@ void GetKeyboardLayout()
|
|||
if (StrEmpty(_keyboard_opt[1])) {
|
||||
GetString(keyboard[1], STR_OSK_KEYBOARD_LAYOUT_CAPS, lastof(keyboard[1]));
|
||||
} else {
|
||||
strncpy(keyboard[0], _keyboard_opt[0], lengthof(keyboard[1]));
|
||||
strncpy(keyboard[1], _keyboard_opt[1], lengthof(keyboard[1]));
|
||||
}
|
||||
|
||||
for (uint j = 0; j < 2; j++) {
|
||||
const char *kbd = keyboard[j];
|
||||
bool ended = false;
|
||||
for (uint i = 0; i < OSK_KEYBOARD_ENTRIES; i++) {
|
||||
_keyboard[j][i] = Utf8Consume(&kbd);
|
||||
|
||||
/* Be lenient when the last characters are missing (is quite normal) */
|
||||
if (_keyboard[j][i] == '\0' || ended) {
|
||||
ended = true;
|
||||
_keyboard[j][i] = ' ';
|
||||
continue;
|
||||
}
|
||||
|
||||
if (IsPrintable(_keyboard[j][i])) {
|
||||
errormark[j][i] = ' ';
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue