Rémi Bernon (@rbernon) commented about dlls/imm32/imm.c:
while (ctx->dwNumMsgBuf--) { TRANSMSG *msgs, msg; - if (!(msgs = ImmLockIMCC( ctx->hMsgBuf ))) return FALSE; + if (!(msgs = ImmLockIMCC( ctx->hMsgBuf ))) + { + ImmUnlockIMC( himc); + return FALSE; + } msg = msgs[0]; memmove( msgs, msgs + 1, ctx->dwNumMsgBuf * sizeof(*msgs) ); ImmUnlockIMCC( ctx->hMsgBuf ); SendMessageW( ctx->hWnd, msg.message, msg.wParam, msg.lParam ); } ctx->dwNumMsgBuf++; + ImmUnlockIMC( himc);
```suggestion:-11+0 if (!(msgs = ImmLockIMCC( ctx->hMsgBuf ))) { ImmUnlockIMC( himc ); return FALSE; } msg = msgs[0]; memmove( msgs, msgs + 1, ctx->dwNumMsgBuf * sizeof(*msgs) ); ImmUnlockIMCC( ctx->hMsgBuf ); SendMessageW( ctx->hWnd, msg.message, msg.wParam, msg.lParam ); } ctx->dwNumMsgBuf++; ImmUnlockIMC( himc ); ``` Please keep the spacing consistent. Looks good otherwise. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9074#note_117164