mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 08:55:06 +00:00
winex11: Keep the result string in the IME UI window procedure.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3955ce1e0a
commit
b8dc1e7cde
|
@ -380,7 +380,6 @@ static LRESULT WINAPI test_ime_wnd_proc(HWND hWnd, UINT msg, WPARAM wParam, LPAR
|
||||||
imc = ImmGetContext(hWnd);
|
imc = ImmGetContext(hWnd);
|
||||||
size = ImmGetCompositionStringW(imc, GCS_RESULTSTR,
|
size = ImmGetCompositionStringW(imc, GCS_RESULTSTR,
|
||||||
wstring, sizeof(wstring));
|
wstring, sizeof(wstring));
|
||||||
todo_wine
|
|
||||||
ok(size > 0, "ImmGetCompositionString(GCS_RESULTSTR) is %d\n", size);
|
ok(size > 0, "ImmGetCompositionString(GCS_RESULTSTR) is %d\n", size);
|
||||||
ImmReleaseContext(hwnd, imc);
|
ImmReleaseContext(hwnd, imc);
|
||||||
|
|
||||||
|
|
|
@ -906,6 +906,11 @@ BOOL WINAPI ImeSetCompositionString(HIMC hIMC, DWORD dwIndex, LPCVOID lpComp,
|
||||||
myPrivate->bInComposition = TRUE;
|
myPrivate->bInComposition = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* clear existing result */
|
||||||
|
newCompStr = updateResultStr(lpIMC->hCompStr, NULL, 0);
|
||||||
|
ImmDestroyIMCC(lpIMC->hCompStr);
|
||||||
|
lpIMC->hCompStr = newCompStr;
|
||||||
|
|
||||||
flags = GCS_COMPSTR;
|
flags = GCS_COMPSTR;
|
||||||
|
|
||||||
if (dwCompLen && lpComp)
|
if (dwCompLen && lpComp)
|
||||||
|
@ -1256,7 +1261,6 @@ static void DefaultIMEComposition(HIMC hIMC, HWND hwnd, LPARAM lParam)
|
||||||
LPCOMPOSITIONSTRING compstr;
|
LPCOMPOSITIONSTRING compstr;
|
||||||
LPBYTE compdata;
|
LPBYTE compdata;
|
||||||
LPWSTR ResultStr;
|
LPWSTR ResultStr;
|
||||||
HIMCC newCompStr;
|
|
||||||
LPINPUTCONTEXT lpIMC;
|
LPINPUTCONTEXT lpIMC;
|
||||||
|
|
||||||
lpIMC = LockRealIMC(hIMC);
|
lpIMC = LockRealIMC(hIMC);
|
||||||
|
@ -1269,11 +1273,6 @@ static void DefaultIMEComposition(HIMC hIMC, HWND hwnd, LPARAM lParam)
|
||||||
ResultStr = (LPWSTR)(compdata + compstr->dwResultStrOffset);
|
ResultStr = (LPWSTR)(compdata + compstr->dwResultStrOffset);
|
||||||
GenerateIMECHARMessages(hIMC, ResultStr, compstr->dwResultStrLen);
|
GenerateIMECHARMessages(hIMC, ResultStr, compstr->dwResultStrLen);
|
||||||
ImmUnlockIMCC(lpIMC->hCompStr);
|
ImmUnlockIMCC(lpIMC->hCompStr);
|
||||||
|
|
||||||
/* clear the buffer */
|
|
||||||
newCompStr = updateResultStr(lpIMC->hCompStr, NULL, 0);
|
|
||||||
ImmDestroyIMCC(lpIMC->hCompStr);
|
|
||||||
lpIMC->hCompStr = newCompStr;
|
|
||||||
UnlockRealIMC(hIMC);
|
UnlockRealIMC(hIMC);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue