diff --git a/mac/mcompile/keymap.cpp b/mac/mcompile/keymap.cpp index 0a9e520f63..c4ae0d6c3f 100644 --- a/mac/mcompile/keymap.cpp +++ b/mac/mcompile/keymap.cpp @@ -303,7 +303,6 @@ KMX_DWORD mac_KMX_get_KeyVal_From_KeyCode_dk(const UCKeyboardLayout* keyboard_la * or else the keyval obtained from Keycode and shiftstate and caps; */ KMX_DWORD mac_KMX_get_KeyValUnderlying_From_KeyCodeUnderlying(const UCKeyboardLayout* keyboard_layout, KMX_DWORD kc_underlying, KMX_DWORD vk_ShiftState, PKMX_WCHAR deadKey) { - PKMX_WCHAR dky = NULL; UInt32 isdk = 0; KMX_DWORD keyV; int caps = 0; @@ -315,7 +314,9 @@ KMX_DWORD mac_KMX_get_KeyValUnderlying_From_KeyCodeUnderlying(const UCKeyboardLa // if there was a deadkey return 0xFFFF and copy deadkey into dky; else return the keyvalue if (isdk != 0) { - dky = (PKMX_WCHAR)(std::u16string(1, keyV)).c_str(); + PKMX_WCHAR dky = NULL; + std::u16string keyVS(1, keyV); + dky = (PKMX_WCHAR) keyVS.c_str(); *deadKey = *dky; return 0xFFFF; } diff --git a/mac/mcompile/mc_kmxfile.cpp b/mac/mcompile/mc_kmxfile.cpp index d75f3076de..78aa40615c 100644 --- a/mac/mcompile/mc_kmxfile.cpp +++ b/mac/mcompile/mc_kmxfile.cpp @@ -285,6 +285,9 @@ LPKMX_KEYBOARD KMX_CopyKeyboard(PKMX_BYTE bufp, PKMX_BYTE base) { kbp->dwFlags = ckbp->dwFlags; kbp->dwHotKey = ckbp->dwHotKey; + kbp->dpBitmapOffset = ckbp->dpBitmapOffset; + kbp->dwBitmapSize = ckbp->dwBitmapSize; + kbp->dpStoreArray = (LPKMX_STORE)bufp; bufp += sizeof(KMX_STORE) * kbp->cxStoreArray; diff --git a/mac/mcompile/meson.build b/mac/mcompile/meson.build index 5c46335674..161112a305 100644 --- a/mac/mcompile/meson.build +++ b/mac/mcompile/meson.build @@ -3,7 +3,9 @@ project('mcompile', 'c', 'cpp', meson_version: '>=1.0') # see https://github.com/keymanapp/keyman/pull/11334#issuecomment-2290784399 -add_project_arguments('-O0', language : 'cpp') +add_project_arguments('-O1', language : 'cpp') + +// _S2 was // add_project_arguments('-O0', language : 'cpp') carbon = dependency('Carbon')