| Summary: | [misc] Chinese IME status lost | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Haibing <thefloe> |
| Component: | SWT | Assignee: | Felipe Heidrich <eclipse.felipe> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | daniel_megert |
| Version: | 3.1 | ||
| Target Milestone: | 3.1 RC2 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Haibing
Does this only happen with Eclipse? I would assume that the IME window is controlled by the OS. (In reply to comment #1) > Does this only happen with Eclipse? I would assume that the IME window is > controlled by the OS. Yes, it only happen with eclipse.It seems only happen to eclipse text editor, I have noticed dialogs of eclipse does not lost IME status, such as Open Type dialog. IME status is not IME window, I mean each time after change IME to chinese in eclipse text editor and input some chinese, then switch to some other application and switch back to eclipse, you have to change IME to chinese again. Normal application will keep the IME you have set until you change it again. Just tried it out and it works for me using 3.1 RC1, Windows XP, SP2: 1. install fresh 3.1RC1 Eclipse SDK, no additional plug-ins 2. create project P 3. create file f.txt 4. change ime to some other language 'L' 5. switch to other app ==> default language shown in ime 6. switch back to Eclipse ==> 'L' shown in ime status . (In reply to comment #4) > . Mmm, yes, the IME status in language bar are kept, but you could not input chinese in fact, must close IME and open IME again to input chinese. I'm using 3.1 build200409240800, but had test this bug with 3.1M7 too. Thank you for test and reply. Reopen to move to SWT for comment. There's nothing Platform Text does which would cause this. This is a side-effect caused by the fix for bug14656, the fix is in Shell#WM_ACTIVATE: /* * Bug in Windows XP. When a Shell is deactivated, the * IME composition window does not go away. This causes * repaint issues. The fix is to close the IME ourselves * when the Shell is deactivated. * * Note. When the Shell is reactivated, the text in the * composition window has been lost. */ if (OS.WIN32_VERSION >= OS.VERSION (5, 1)) { if ((wParam & 0xFFFF) == 0 && OS.IsDBLocale && hIMC != 0) { OS.ImmSetOpenStatus (hIMC, false); } } -- I can not remove this code cause I can't re-introduce Bug14656, the only chance here is to find some other fix for it. Fixed in HEAD > 20050608 |