Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.3858
diff -u -p -r1.3858 ChangeLog
--- mail/ChangeLog	27 Jun 2006 13:56:46 -0000	1.3858
+++ mail/ChangeLog	29 Jun 2006 06:00:11 -0000
@@ -1,3 +1,13 @@
+2006-06-29  Johnny Jacob <jjohnny@novell.com> 
+	
+	** Patch by Not Zed  <NotZed@Ximian.com>
+	** See bug #262003
+
+	* em-format-html-display.c (efhd_xpkcs7mime_validity_clicked): put
+	the potentially long descriptions into a textbuffer so it's
+	scrollable.
+
+
 2006-06-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	* evolution-mail.schemas.in.in:
Index: mail/em-format-html-display.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format-html-display.c,v
retrieving revision 1.95
diff -u -p -r1.95 em-format-html-display.c
--- mail/em-format-html-display.c	25 May 2006 04:59:47 -0000	1.95
+++ mail/em-format-html-display.c	29 Jun 2006 06:00:48 -0000
@@ -52,6 +52,7 @@
 #include <gtk/gtklabel.h>
 #include <gtk/gtkentry.h>
 #include <gtk/gtkscrolledwindow.h>
+#include <gtk/gtktextview.h>
 #include <gtk/gtktogglebutton.h>
 #include <gtk/gtktable.h>
 #include <gtk/gtkmenu.h>
@@ -944,10 +945,24 @@ efhd_xpkcs7mime_validity_clicked(GtkWidg
 	gtk_label_set_line_wrap((GtkLabel *)w, TRUE);
 	gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	if (po->valid->sign.description) {
-		w = gtk_label_new(po->valid->sign.description);
-		gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5);
-		gtk_label_set_line_wrap((GtkLabel *)w, FALSE);
-		gtk_label_set_selectable((GtkLabel *)w, TRUE);
+		GtkTextBuffer *buffer;
+
+		buffer = gtk_text_buffer_new(NULL);
+		gtk_text_buffer_set_text(buffer, po->valid->sign.description, strlen(po->valid->sign.description));
+		w = g_object_new(gtk_scrolled_window_get_type(),
+				 "hscrollbar_policy", GTK_POLICY_AUTOMATIC,
+				 "vscrollbar_policy", GTK_POLICY_AUTOMATIC,
+				 "shadow_type", GTK_SHADOW_IN,
+				 "child", g_object_new(gtk_text_view_get_type(),
+						       "buffer", buffer,
+						       "cursor_visible", FALSE,
+						       "editable", FALSE,
+						       "width_request", 500,
+						       "height_request", 160,
+						       NULL),
+				 NULL);
+		g_object_unref(buffer);
+
 		gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	}
 
@@ -962,10 +977,24 @@ efhd_xpkcs7mime_validity_clicked(GtkWidg
 	gtk_label_set_line_wrap((GtkLabel *)w, TRUE);
 	gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	if (po->valid->encrypt.description) {
-		w = gtk_label_new(po->valid->encrypt.description);
-		gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5);
-		gtk_label_set_line_wrap((GtkLabel *)w, FALSE);
-		gtk_label_set_selectable((GtkLabel *)w, TRUE);
+		GtkTextBuffer *buffer;
+
+		buffer = gtk_text_buffer_new(NULL);
+		gtk_text_buffer_set_text(buffer, po->valid->encrypt.description, strlen(po->valid->encrypt.description));
+		w = g_object_new(gtk_scrolled_window_get_type(),
+				 "hscrollbar_policy", GTK_POLICY_AUTOMATIC,
+				 "vscrollbar_policy", GTK_POLICY_AUTOMATIC,
+				 "shadow_type", GTK_SHADOW_IN,
+				 "child", g_object_new(gtk_text_view_get_type(),
+						       "buffer", buffer,
+						       "cursor_visible", FALSE,
+						       "editable", FALSE,
+						       "width_request", 500,
+						       "height_request", 160,
+						       NULL),
+				 NULL);
+		g_object_unref(buffer);
+
 		gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	}
 
