mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-30 13:20:28 +00:00
Fix crash using Japanese keyboard layout on macOS
This commit is contained in:
parent
8f07b0af33
commit
88b51e1e82
@ -90,9 +90,15 @@ KeyModifiers get_modifiers_from_nsevent(NSEvent* event)
|
||||
CFStringRef get_unicode_from_key_code(NSEvent* event,
|
||||
const bool translateDeadKeys)
|
||||
{
|
||||
TISInputSourceRef inputSource = TISCopyCurrentKeyboardInputSource();
|
||||
// The "TISCopyCurrentKeyboardInputSource()" doesn't contain
|
||||
// kTISPropertyUnicodeKeyLayoutData (returns nullptr) when the input
|
||||
// source is Japanese (Romaji/Hiragana/Katakana).
|
||||
|
||||
//TISInputSourceRef inputSource = TISCopyCurrentKeyboardInputSource();
|
||||
TISInputSourceRef inputSource = TISCopyCurrentKeyboardLayoutInputSource();
|
||||
CFDataRef keyLayoutData = (CFDataRef)TISGetInputSourceProperty(inputSource, kTISPropertyUnicodeKeyLayoutData);
|
||||
const UCKeyboardLayout* keyLayout = (const UCKeyboardLayout*)CFDataGetBytePtr(keyLayoutData);
|
||||
const UCKeyboardLayout* keyLayout =
|
||||
(keyLayoutData ? (const UCKeyboardLayout*)CFDataGetBytePtr(keyLayoutData): nullptr);
|
||||
|
||||
UInt32 deadKeyState = (translateDeadKeys ? g_lastDeadKeyState: 0);
|
||||
UniChar output[4];
|
||||
|
Loading…
x
Reference in New Issue
Block a user