GdkWin32Keymap: Be more robust against DLL loading failures
Fixes failure on the CI servers when generating GIR files
This commit is contained in:
@ -18,7 +18,7 @@
|
||||
* I.e. 32 bits on 32-bit Windows and 64 bits on 64-bit Windows.
|
||||
*
|
||||
* This is *not* the same as the the bitness of the application, since it is
|
||||
* possible to execute 32-bit binaries on either a 32-bit or a 64-bit host.
|
||||
* possible to execute 32-bit binaries on either a 32-bit *or* a 64-bit host.
|
||||
* On a 64-bit host, KBD_LONG_PTR will be 64-bits, even if the application
|
||||
* itself is 32-bit. (Whereas on a 32-bit host, it will be 32-bit.)
|
||||
*
|
||||
|
||||
@ -595,17 +595,21 @@ update_keymap (GdkWin32Keymap *keymap)
|
||||
|
||||
info->file = get_keyboard_layout_file (info->name);
|
||||
|
||||
info->key_entries = g_array_new (FALSE, FALSE, sizeof (KeyEntry));
|
||||
if (load_layout_dll (keymap, info->file, info))
|
||||
{
|
||||
info->key_entries = g_array_new (FALSE, FALSE,
|
||||
sizeof (GdkWin32KeymapKeyEntry));
|
||||
|
||||
info->reverse_lookup_table = g_hash_table_new (g_direct_hash,
|
||||
g_direct_equal);
|
||||
load_layout_dll (info->file, info);
|
||||
init_vk_lookup_table (info);
|
||||
info->reverse_lookup_table = g_hash_table_new (g_direct_hash,
|
||||
g_direct_equal);
|
||||
init_vk_lookup_table (keymap, info);
|
||||
}
|
||||
}
|
||||
|
||||
if (info->handle == current_layout)
|
||||
keymap->active_layout = i;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
ActivateKeyboardLayout (current_layout, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user