From: Dirk-Jan C. Binnema Date: Sat, 7 Jul 2007 14:26:10 +0000 (+0000) Subject: * fix logical ID bug #62763. X-Git-Tag: git_migration_finished~2914 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=22a35aa7ce92c1f264efbaef53c8e1b11cb49ec4 * fix logical ID bug #62763. * while tracking this bug down, found that modest-platform was measuring string character lengths with strlen, changed this in g_utf8_strlen. also make the length check greater-than instead of equal, as copy-paste may change the length with more than one at a time. pmo-trunk-r2624 --- diff --git a/src/maemo/modest-account-settings-dialog.c b/src/maemo/modest-account-settings-dialog.c index 6c226de..e5f7c25 100644 --- a/src/maemo/modest-account-settings-dialog.c +++ b/src/maemo/modest-account-settings-dialog.c @@ -262,7 +262,7 @@ static void on_entry_max (ModestValidatingEntry *self, gpointer user_data) { ModestAccountSettingsDialog *dialog = MODEST_ACCOUNT_SETTINGS_DIALOG (user_data); - show_error (GTK_WINDOW (dialog), _("ckdg_ib_maximum_characters_reached")); + show_error (GTK_WINDOW (dialog), _CS("ckdg_ib_maximum_characters_reached")); } static GtkWidget* diff --git a/src/maemo/modest-platform.c b/src/maemo/modest-platform.c index ecc50bb..ce260a2 100644 --- a/src/maemo/modest-platform.c +++ b/src/maemo/modest-platform.c @@ -49,6 +49,7 @@ #include #include #include +#include #include @@ -565,12 +566,12 @@ entry_insert_text (GtkEditable *editable, gint chars_length; chars = gtk_editable_get_chars (editable, 0, -1); - chars_length = strlen (chars); + chars_length = g_utf8_strlen (chars, -1); /* Show WID-INF036 */ - if (chars_length == 20) { + if (chars_length >= 20) { hildon_banner_show_information (gtk_widget_get_parent (GTK_WIDGET (data)), NULL, - dgettext("hildon-common-strings", "ckdg_ib_maximum_characters_reached")); + _CS("ckdg_ib_maximum_characters_reached")); } else { if (chars_length == 0) { /* A blank space is not valid as first character */ @@ -616,11 +617,9 @@ entry_changed (GtkEditable *editable, gtk_widget_set_sensitive (ok_button, FALSE); g_list_free (buttons); - } else if (strlen (chars) == 21) { + } else if (g_utf8_strlen (chars,-1) >= 21) hildon_banner_show_information (gtk_widget_get_parent (GTK_WIDGET (user_data)), NULL, - dgettext("hildon-common-strings", "ckdg_ib_maximum_characters_reached")); - } - + _CS("ckdg_ib_maximum_characters_reached")); /* Free */ g_free (chars); }