Avoid emitting superfluous preedit_changed signals. Thanks to Matthias.

2006-03-03  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_commit_char)
	(gtk_im_context_simple_reset): Avoid emitting superfluous
	preedit_changed signals. Thanks to Matthias. (#319407)
This commit is contained in:
Tor Lillqvist 2006-03-03 14:16:45 +00:00 committed by Tor Lillqvist
parent 43cb6010cc
commit 87ff791dcb
3 changed files with 24 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2006-03-03 Tor Lillqvist <tml@novell.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_commit_char)
(gtk_im_context_simple_reset): Avoid emitting superfluous
preedit_changed signals. Thanks to Matthias. (#319407)
2006-03-03 Michael Natterer <mitch@imendio.com>
Applied modified patch from maemo-gtk which makes separators more

View File

@ -1,3 +1,9 @@
2006-03-03 Tor Lillqvist <tml@novell.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_commit_char)
(gtk_im_context_simple_reset): Avoid emitting superfluous
preedit_changed signals. Thanks to Matthias. (#319407)
2006-03-03 Michael Natterer <mitch@imendio.com>
Applied modified patch from maemo-gtk which makes separators more

View File

@ -1032,10 +1032,13 @@ gtk_im_context_simple_commit_char (GtkIMContext *context,
len = g_unichar_to_utf8 (ch, buf);
buf[len] = '\0';
if (context_simple->tentative_match || context_simple->in_hex_sequence)
{
context_simple->tentative_match = 0;
context_simple->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit_changed");
}
context_simple->in_hex_sequence = FALSE;
context_simple->tentative_match = 0;
context_simple->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit_changed");
g_signal_emit_by_name (context, "commit", &buf);
}
@ -1519,11 +1522,13 @@ gtk_im_context_simple_reset (GtkIMContext *context)
context_simple->compose_buffer[0] = 0;
if (context_simple->tentative_match || context_simple->in_hex_sequence)
{
context_simple->tentative_match = 0;
context_simple->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit_changed");
}
context_simple->in_hex_sequence = FALSE;
context_simple->tentative_match = 0;
context_simple->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit_changed");
}
static void