Branch: refs/heads/chromeos
Home: http://github.com/ibus/ibus
Commit: 6ae80939f28c4d8f365c1dd66c5d81cc79869eda
http://github.com/ibus/ibus/commit/6ae80939f28c4d8f365c1dd66c5d81cc79869eda
Author: Yusuke Sato <[email protected]>
Date: 2010-09-14 (Tue, 14 Sep 2010)
Changed paths:
M bus/ibusimpl.c
Log Message:
-----------
Fix issues of the "previous_engine" hotkey.
Check global_previous_engine_name when the previous engine is requested and
rewrite it if necessary.
This change ensures that the "previous_engine" hotkey (Ctrl+space on Chrome OS)
always works
whenever two or more engines are preloaded.
Currently, Ctrl+space could become NOP by the following scenarios
(http://crosbug.com/6609):
(1)
1. preload engines A, B, C.
2. switch to A.
3. switch to B.
4. at this point, ctrl+space works fine. It selectes A and B alternately.
5. switch to A.
6. remove B from the preloaded engline list.
7. at this point, ctrl+space suddenly becomes NOP although C is still preloaded.
This is because the callback function of ctrl+space detects
global_previous_engine_name (i.e. B) is removed and automatically selects A (not
C) as a global_previous_engine_name.
(2)
1. preload engines A, B.
2. switch to A.
3. switch to B.
4. at this point, ctrl+space works fine. It selectes A and B alternately.
5. switch to A.
6. remove B from the preloaded engline list.
7. press ctrl+space several times, confirm that nothing happens (this is
expected since only one engine, A, is preloaded).
8. preload additional engine, C.
9. at this point, ctrl+space is still NOP although two engines, A and C, are
preloaded.
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en