Re: [evolution-patches] Re: [Evolution-hackers] evolution 1.2 branch and UTF-8 strings - PATCH



looks good to commit

On Fri, 2003-03-07 at 03:06, Jeffrey Stedfast wrote:
> Aha, found the problem... it seems that the gui code expected the prompt
> in UTF-8 even though camel always sends the prompt in the locale
> charset.
> 
> Simple fix attached.
> 
> Jeff
> 
> On Thu, 2003-03-06 at 11:12, Frederic Crozat wrote:
> > Le jeu 06/03/2003 à 16:56, Jeffrey Stedfast a écrit :
> > > On Thu, 2003-03-06 at 08:32, Frederic Crozat wrote:
> > > > Hi all,
> > > > 
> > > > while debugging the GPG signed message problem, I found another problem
> > > > in camel : currently, it uses _() to translate its message and those
> > > > strings are then used by mail-session.c to display modal dialog..
> > > > Problem is _() will not always output an UTF-8 string, unless
> > > > bind_textdomain_codeset is used (currently not the case in Evo 1.2.2)
> > > 
> > > hmmm, Evolution 1.2.x doesn't use UTF-8 for dialog label display, it
> > > just uses the user's locale charset so _() macro's should be fine.
> > > 
> > > the only place evo uses UTF-8 is in the custom widgets (which the passwd
> > > dialog doesn't use).
> > > 
> > > basically, all messages from camel (errors/prompts) are supposed to be
> > > in the locale charset.
> > 
> > Ok.. I think it should be added in the camel documentation :))
> > 
> > > > 
> > > > I'm seeing this problem in camel/camel-gpg-context.c:742 when it asks
> > > > passphrase, which in French is translated using latin1 characters,
> > > > causing the dialog to be "scrambled"..
> > > 
> > > I think someone else reported something similar...(there's a bug in
> > > bugzilla about it) perhaps it is only a problem when the locale is UTF-8
> > > but the po files are in Latin1?
> > 
> > Well, I don't think this is the problem here :
> > french .po is latin1
> > locale used (french) is latin1 too..
> > 
> > But gal widgets are supposed to be using UTF-8 strings, IIRC, so a
> > conversion is missing somewhere..
> -- 
> Jeffrey Stedfast
> Evolution Hacker - Ximian, Inc.
> fejj ximian com  - www.ximian.com
> 
> ______________________________________________________________________
> 
> Index: ChangeLog
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
> retrieving revision 1.2444.2.17
> diff -u -r1.2444.2.17 ChangeLog
> --- ChangeLog	5 Mar 2003 18:50:39 -0000	1.2444.2.17
> +++ ChangeLog	6 Mar 2003 16:33:56 -0000
> @@ -1,3 +1,10 @@
> +2003-03-06  Jeffrey Stedfast  <fejj ximian com>
> +
> +	* mail-session.c (request_password): Don't use
> +	e_utf8_to_gtk_string here, as the strings passed to us from camel
> +	are already in the proper encoding (ie, the locale
> +	encoding). Fixes bug #36453.
> +
>  2003-03-04  Jeffrey Stedfast  <fejj ximian com>
>  
>  	* mail-callbacks.c (composer_get_message): Revert my prior change
> Index: mail-session.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/mail-session.c,v
> retrieving revision 1.40
> diff -u -r1.40 mail-session.c
> --- mail-session.c	16 Oct 2002 04:07:31 -0000	1.40
> +++ mail-session.c	6 Mar 2003 16:33:56 -0000
> @@ -248,7 +248,6 @@
>  	GtkWidget *check, *check_label, *entry;
>  	GList *children, *iter;
>  	gboolean show;
> -	char *title;
>  	unsigned int accel_key;
>  
>  	/* If we already have a password_dialogue up, save this request till later */
> @@ -261,8 +260,7 @@
>  
>  	/* assume we can use any widget to translate string for display */
>  	check_label = gtk_label_new ("");
> -	title = e_utf8_to_gtk_string (GTK_WIDGET (check_label), m->prompt);
> -	password_dialogue = (GnomeDialog *)dialogue = gnome_request_dialog (m->secret, title, NULL, 0, pass_got, m, NULL);
> +	password_dialogue = (GnomeDialog *)dialogue = gnome_request_dialog (m->secret, m->title, NULL, 0, pass_got, m, NULL);
>  	g_free(title);
>  	password_destroy_id = gtk_signal_connect((GtkObject *)dialogue, "destroy", request_password_deleted, m);
>  




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]