ibus/ibus-HEAD.patch
2009-08-07 06:47:16 +00:00

31 lines
1019 B
Diff

diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
index 68a77d8..d914eae 100644
--- a/client/gtk2/ibusimcontext.c
+++ b/client/gtk2/ibusimcontext.c
@@ -774,14 +774,22 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibuscontext,
ibusimcontext->preedit_visible = visible;
if (ibusimcontext->preedit_visible) {
- if (flag)
+ if (flag) {
+ /* invisible => visible */
g_signal_emit (ibusimcontext, _signal_preedit_start_id, 0);
+ }
g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
}
else {
- g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
- if (flag)
+ if (flag) {
+ /* visible => invisible */
+ g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
g_signal_emit (ibusimcontext, _signal_preedit_end_id, 0);
+ }
+ else {
+ /* still invisible */
+ /* do nothing */
+ }
}
}