On 9/26/12 10:18 AM, Alexandre Julliard wrote:
Aric Stewart aric@codeweavers.com writes:
- if (data->imeWnd == NULL)
- if (defWnd == NULL) { /* create the ime window */
data->imeWnd = CreateWindowExW( WS_EX_TOOLWINDOW,
defWnd = CreateWindowExW( WS_EX_TOOLWINDOW, data->immKbd->imeClassName, NULL, WS_POPUP, 0, 0, 1, 1, 0, 0, data->immKbd->hIME, 0);
SetWindowLongPtrW(data->imeWnd, IMMGWL_IMC, (LONG_PTR)data);
IMM_GetThreadData()->hwndDefault = data->imeWnd;
SetWindowLongPtrW(defWnd, IMMGWL_IMC, (LONG_PTR)data);
IMM_GetThreadData()->hwndDefault = defWnd;
So now, shouldn't you be resetting IMMGWL_IMC at some point?
Yeah, I am digging into that as we speak. My testing on testbot is not giving me any real rational results on that area. At least nothing matching my documentation as to how it is suppose to work. I need to get my Japanese VM back up and working and really try to dig into that.
Right now it is working and more correct that it was. My guess is that we should not be dealing with IMMGWL_IMC at all at that point anyway.
Do you want to delay on this fix until I figure our what should be happening with IMMGWL_IMC. Or I can have a second patch addressing IMMGWL_IMC and how that is suppose to be handled.
-aric