[maemo-commits] [maemo-commits] r19526 - in projects/haf/trunk/gtk+: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Nov 27 12:35:06 EET 2009
- Previous message: [maemo-commits] r19525 - projects/haf/trunk/gtk+/debian
- Next message: [maemo-commits] r19527 - in projects/haf/trunk/hildon-theme-tools: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kalikiana Date: 2009-11-27 12:35:00 +0200 (Fri, 27 Nov 2009) New Revision: 19526 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/gtk/gtkentry.c Log: 2009-11-27 Christian Dywan <christian at lanedo.com> Fixes: NB#146722 - [Arabic] Contacts doesnt support calls if the number is in Hindu-Arabic in Rover * gtk/gtkentry.c (hildon_gtk_input_mode_is_valid_char), (gtk_entry_filter_text): Convert unicode numbers outside of ASCII to ASCII and don't regard them as valid. Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2009-11-27 10:34:46 UTC (rev 19525) +++ projects/haf/trunk/gtk+/ChangeLog 2009-11-27 10:35:00 UTC (rev 19526) @@ -1,3 +1,12 @@ +2009-11-27 Christian Dywan <christian at lanedo.com> + + Fixes: NB#146722 - [Arabic] Contacts doesnt support calls if the number + is in Hindu-Arabic in Rover + + * gtk/gtkentry.c (hildon_gtk_input_mode_is_valid_char), + (gtk_entry_filter_text): Convert unicode numbers outside of ASCII to ASCII + and don't regard them as valid. + 2009-11-18 Christian Dywan <christian at lanedo.com> * gtk/Makefile.am: Modified: projects/haf/trunk/gtk+/gtk/gtkentry.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-27 10:34:46 UTC (rev 19525) +++ projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-27 10:35:00 UTC (rev 19526) @@ -2923,8 +2923,9 @@ * design might change, so for now we'll keep this here. */ static gboolean -hildon_gtk_input_mode_is_valid_char (HildonGtkInputMode mode, - gunichar chr) +hildon_gtk_input_mode_is_valid_char (HildonGtkInputMode mode, + gunichar chr, + gunichar *chr_) { static const char *tele_chars_ascii = "p#*+"; @@ -2940,7 +2941,12 @@ if ((mode & (HILDON_GTK_INPUT_MODE_NUMERIC | HILDON_GTK_INPUT_MODE_HEXA | HILDON_GTK_INPUT_MODE_TELE)) != 0) - return TRUE; + { + gchar* number = g_strdup_printf ("%d", g_unichar_digit_value (chr)); + *chr_ = g_utf8_get_char (number); + g_free (number); + return chr == *chr_; + } } else { @@ -2984,13 +2990,17 @@ { gboolean valid = TRUE; GString *result = g_string_sized_new (nbytes); + while(length) { gunichar chr = g_utf8_get_char (str); + gunichar chr_ = chr; + gboolean valid_char; - if (hildon_gtk_input_mode_is_valid_char (input_mode, chr)) - g_string_append_unichar (result, chr); - else + valid_char = hildon_gtk_input_mode_is_valid_char (input_mode, chr, &chr_); + if (valid_char || chr != chr_) + g_string_append_unichar (result, chr_); + if (!valid_char) valid = FALSE; str = g_utf8_next_char (str); @@ -3005,7 +3015,7 @@ { gunichar chr = g_utf8_get_char (str); - if (!hildon_gtk_input_mode_is_valid_char (input_mode, chr)) + if (!hildon_gtk_input_mode_is_valid_char (input_mode, chr, &chr)) return FALSE; str = g_utf8_next_char (str);
- Previous message: [maemo-commits] r19525 - projects/haf/trunk/gtk+/debian
- Next message: [maemo-commits] r19527 - in projects/haf/trunk/hildon-theme-tools: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]