On Fri, Apr 25, 2008 at 09:36:36AM -0500, Aric Stewart wrote: > 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
Then, are these also wrong? updateCompStr returns NULL if NULL or 0 is given. 748 newCompStr = updateCompStr(lpIMC->hCompStr, NULL, 0); 749 ImmDestroyIMCC(lpIMC->hCompStr); 750 lpIMC->hCompStr = newCompStr; 897 newCompStr = updateCompStr(lpIMC->hCompStr, NULL, 0); 898 ImmDestroyIMCC(lpIMC->hCompStr); 899 lpIMC->hCompStr = newCompStr;