diff --git a/dlls/winemac.drv/keyboard.c b/dlls/winemac.drv/keyboard.c index 98d17ba429..cc25789fcb 100644 --- a/dlls/winemac.drv/keyboard.c +++ b/dlls/winemac.drv/keyboard.c @@ -1394,7 +1394,10 @@ INT CDECL macdrv_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState } if (!is_menu) { - thread_data->dead_key_state = deadKeyState; + if (keyAction != kUCKeyActionUp && len > 0 && deadKeyState == thread_data->dead_key_state) + thread_data->dead_key_state = 0; + else + thread_data->dead_key_state = deadKeyState; if (keyAction == kUCKeyActionUp) goto done;