Hi Andre,

On 9/24/12 3:00 PM, André Hentschel wrote:
> Am 21.09.2012 18:46, schrieb Aric Stewart:
>> Hi Andre,
>>
>> I have a quick question for you. I am looking into why IME unaware 
>> applications are no longer showing their composition window and found it was 
>> because of:
>>
>> commit 7673d67c1e1cfdcdf7560beea9162c3699329aa5
>> Author: André Hentschel <n...@dawncrow.de>
>> Date:   Sat Jun 25 16:13:41 2011 +0200
>>
>>      imm32: Test and fix ImmIsUIMessageA/W.
>>
>> in that patch I see that you eliminate the part where we check if there is a 
>> default IME window and if not then create one.
>>
>> if (!IMM_GetThreadData()->hwndDefault)
>>             ImmGetDefaultIMEWnd(NULL);
> 
> Hi,
> this code snippet was a useless construct it seems, because 
> ImmGetDefaultIMEWnd returns IMM_GetThreadData()->hwndDefault which is 
> obviously zero and it's not stored.
> 

You are correct here.  It was previously the case that we did not create the 
default IME window until it was requested. That changed and so now it is 
useless and can be removed.

> 
>> also you eliminate the part where if the incoming hWndIME is NULL we send 
>> the message to the thread's default IME window.
> 
> my changes made an app happy IIRC, further i think i was skeptical about 
> IMM_GetThreadData()->hwndDefault because of the dead code.
> maybe it should be patched in again, not sure.
> 
> 

I would be curious about this.  What was your app and could I test it?  I find 
there are many applications that are half-ime aware. That use ImmIsUIMessage 
with a NULL hwnd and expect the message to be processed but the default IME 
window. So we need that behavior to remain true.

I would be curious why your app was unhappy about that.

thanks!
-aric


Reply via email to