Kusanagi Kouichi : winex11: Destroy the handle to the composition string after it is cancelled.
Aric Stewart
aric at codeweavers.com
Fri Apr 25 09:36:36 CDT 2008
Comming in a bit late on this one, (missed the patch submission)
I do not think this is correct as far as i know hCompStr should never be
NULL. Much of our code depends on that not being NULL.
I would recommend using ImeCreateBlankCompStr instead. (something like
below)
diff --git a/dlls/winex11.drv/ime.c b/dlls/winex11.drv/ime.c
index f50549f..8fa6f6f 100644
--- a/dlls/winex11.drv/ime.c
+++ b/dlls/winex11.drv/ime.c
@@ -778,7 +778,7 @@ BOOL WINAPI NotifyIME(HIMC hIMC, DWORD dwAction,
DWORD dwInd
if (lpIMC->hCompStr)
{
ImmDestroyIMCC(lpIMC->hCompStr);
- lpIMC->hCompStr = NULL;
+ lpIMC->hCompStr = ImeCreateBlankCompStr();
}
myPrivate =
(LPIMEPRIVATE)ImmLockIMCC(lpIMC->hPrivate);
-aric
Alexandre Julliard wrote:
> Module: wine
> Branch: master
> Commit: 4f2330ac0c951ec5fb05e2fb152c59723c3af336
> URL: http://source.winehq.org/git/wine.git/?a=commit;h=4f2330ac0c951ec5fb05e2fb152c59723c3af336
>
> Author: Kusanagi Kouichi <slash at ma.neweb.ne.jp>
> Date: Fri Apr 25 12:08:24 2008 +0900
>
> winex11: Destroy the handle to the composition string after it is cancelled.
>
> ---
>
> dlls/winex11.drv/ime.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/dlls/winex11.drv/ime.c b/dlls/winex11.drv/ime.c
> index 6614213..f50549f 100644
> --- a/dlls/winex11.drv/ime.c
> +++ b/dlls/winex11.drv/ime.c
> @@ -775,6 +775,12 @@ BOOL WINAPI NotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
>
> X11DRV_ForceXIMReset(lpIMC->hWnd);
>
> + if (lpIMC->hCompStr)
> + {
> + ImmDestroyIMCC(lpIMC->hCompStr);
> + lpIMC->hCompStr = NULL;
> + }
> +
> myPrivate = (LPIMEPRIVATE)ImmLockIMCC(lpIMC->hPrivate);
> if (myPrivate->bInComposition)
> {
>
>
>
More information about the wine-devel
mailing list