* fix logical ID bug #62763.
authorDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Sat, 7 Jul 2007 14:26:10 +0000 (14:26 +0000)
committerDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Sat, 7 Jul 2007 14:26:10 +0000 (14:26 +0000)
* 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

src/maemo/modest-account-settings-dialog.c
src/maemo/modest-platform.c

index 6c226de..e5f7c25 100644 (file)
@@ -262,7 +262,7 @@ static void
 on_entry_max (ModestValidatingEntry *self, gpointer user_data)
 {
        ModestAccountSettingsDialog *dialog = MODEST_ACCOUNT_SETTINGS_DIALOG (user_data);
 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*
 }
 
 static GtkWidget*
index ecc50bb..ce260a2 100644 (file)
@@ -49,6 +49,7 @@
 #include <gtk/gtkicontheme.h>
 #include <gtk/gtkmenuitem.h>
 #include <gtk/gtkmain.h>
 #include <gtk/gtkicontheme.h>
 #include <gtk/gtkmenuitem.h>
 #include <gtk/gtkmain.h>
+#include <modest-text-utils.h>
 #include <string.h>
 
 
 #include <string.h>
 
 
@@ -565,12 +566,12 @@ entry_insert_text (GtkEditable *editable,
        gint chars_length;
 
        chars = gtk_editable_get_chars (editable, 0, -1);
        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 */
 
        /* Show WID-INF036 */
-       if (chars_length == 20) {
+       if (chars_length >= 20) {
                hildon_banner_show_information  (gtk_widget_get_parent (GTK_WIDGET (data)), NULL,
                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 */
        } 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);
                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,
                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);
 }
        /* Free */
        g_free (chars);
 }