From: Melvin Hadasht Date: Fri, 4 Jul 2003 15:23:38 +0000 (+0000) Subject: Fix bug #184 X-Git-Tag: rel_0_9_3~30 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=453d412ef49eab924cf330335f297a92accfe043 Fix bug #184 --- diff --git a/ChangeLog.claws b/ChangeLog.claws index 236fc9cae..4420aa07c 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,10 @@ +2003-07-04 [melvin] 0.9.0claws79 + + * src/gtk/gtkaspell.c + Fixed bug #184 "Entering non-ascii character deletes + previous char if spell checking enabled": this makes + the spell checking in multibytes (e.g. UTF-8)locales work. + 2003-07-04 [christoph] 0.9.0claws78 * sync with 0.9.2cvs1 diff --git a/configure.ac b/configure.ac index 35c52d813..17fa31391 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws78 +EXTRA_VERSION=claws79 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/gtk/gtkaspell.c b/src/gtk/gtkaspell.c index cde57ccdf..fc3bbb927 100644 --- a/src/gtk/gtkaspell.c +++ b/src/gtk/gtkaspell.c @@ -426,6 +426,8 @@ static void entry_insert_cb(GtkSText *gtktext, guint *ppos, GtkAspell *gtkaspell) { + size_t wlen; + g_return_if_fail(gtkaspell->gtkaspeller->checker); if (!gtkaspell->check_while_typing) @@ -437,7 +439,16 @@ static void entry_insert_cb(GtkSText *gtktext, */ gtk_stext_freeze(gtktext); - gtk_stext_backward_delete(GTK_STEXT(gtktext), len); + if (MB_CUR_MAX > 1) { + gchar *str; + Xstrndup_a(str, newtext, len, return); + wlen = mbstowcs(NULL, str, 0); + if (wlen < 0) + return; + } else + wlen = len; + + gtk_stext_backward_delete(GTK_STEXT(gtktext), wlen); gtk_stext_insert(GTK_STEXT(gtktext), NULL, NULL, NULL, newtext, len); *ppos = gtk_stext_get_point(GTK_STEXT(gtktext));