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



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]