Ensure that the prefix is valid UTF-8. (#419568, Nickolay V. Shmyrev)

2007-03-18  Matthias Clasen <mclasen@redhat.com> 

        * gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix):
        Ensure that the prefix is valid UTF-8.  (#419568, Nickolay V. Shmyrev)


svn path=/trunk/; revision=17543
This commit is contained in:
Matthias Clasen 2007-03-19 04:27:45 +00:00 committed by Matthias Clasen
parent f326c1e9ec
commit a5978a15ec
2 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-03-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix):
Ensure that the prefix is valid UTF-8. (#419568, Nickolay V. Shmyrev)
2007-03-18 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextmultipress.[hc]:

View File

@ -1500,7 +1500,7 @@ gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion)
else
{
gchar *p = prefix;
const gchar *q = text;
gchar *q = text;
while (*p && *p == *q)
{
@ -1509,6 +1509,19 @@ gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion)
}
*p = '\0';
if (p > prefix)
{
/* strip a partial multibyte character */
q = g_utf8_find_prev_char (prefix, p);
switch (g_utf8_get_char_validated (q, p - q))
{
case (gunichar)-2:
case (gunichar)-1:
*q = 0;
default: ;
}
}
}
}