File evolution-rss-evo314.patch of Package evolution-rss

From 62d6e9a7a68dc90abd244431afb47de9826cb423 Mon Sep 17 00:00:00 2001
From: Lucian Langa <lucilanga@gnome.org>
Date: Thu, 07 Jul 2011 20:34:45 +0000
Subject: Avoid camel_stream_printf().

---
Index: evolution-rss-0.2.90/src/rss.c
===================================================================
--- evolution-rss-0.2.90.orig/src/rss.c
+++ evolution-rss-0.2.90/src/rss.c
@@ -73,8 +73,10 @@ int rss_verbose_debug = 0;
 #endif
 #include <shell/e-shell.h>
 #include <shell/e-shell-view.h>
+#if EVOLUTION_VERSION < 30101
 #include <misc/e-popup-menu.h>
 #endif
+#endif
 
 #include <mail/mail-tools.h>
 #include <mail/mail-ops.h>
@@ -2171,6 +2173,7 @@ void org_gnome_cooly_format_rss(void *ep
 	GdkPixbuf *pix;
 	gchar *feed_dir, *feed_file, *iconfile;
 	gchar *tmp_path, *tmp_file;
+	gchar *str;
 #if EVOLUTION_VERSION >= 22900 //kb//
 	GdkColor color;
 #endif
@@ -2258,10 +2261,11 @@ void org_gnome_cooly_format_rss(void *ep
 	pobj->website = g_strstrip(g_strdup((gchar *)website));
 	pobj->stream = t->stream;
 	pobj->object.free = free_rss_controls;
-	camel_stream_printf (
-		t->stream,
+	str = g_strdup_printf (
 		"<object classid=%s></object>\n",
 		classid);
+	camel_stream_write_string (t->stream, str, NULL, NULL);
+	g_free(str);
 	g_free (classid);
 
 
@@ -2285,14 +2289,18 @@ void org_gnome_cooly_format_rss(void *ep
 			pobj->format = (EMFormatHTML *)t->format;
 			pobj->object.free = free_rss_browser;
 			pobj->part = t->part;
-			camel_stream_printf(t->stream,
+			str = g_strdup_printf (
 				"<table style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\" cellpadding=1 cellspacing=0><tr><td align=center>",
 				frame_colour & 0xffffff,
 				frame_colour & 0xffffff,
 				text_colour & 0xffffff);
-			camel_stream_printf (t->stream,
+			camel_stream_write_string (t->stream, str, NULL, NULL);
+			g_free (str);
+			str = g_strdup_printf (
 				"<object classid=%s></object></td></tr></table>",//</div>\n",
 				classid);
+			camel_stream_write_string (t->stream, str, NULL, NULL);
+			g_free (str);
 			g_free (classid);
 			goto out;
 		}
@@ -2303,16 +2311,17 @@ void org_gnome_cooly_format_rss(void *ep
 			//we do not need to setup a pop error menu since we're in
 			//formatting process. But instead display mail body an error
 			//such proxy error or transport error
-			camel_stream_printf (t->stream,
+			str = g_strdup_printf (
 				"<div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
 				frame_colour & 0xffffff,
 				content_colour & 0xffffff,
 				text_colour & 0xffffff);
-			camel_stream_printf(t->stream,
-				"<div style=\"border: solid 0px; padding: 4px;\">\n");
-			camel_stream_printf (t->stream, "<h3>Error!</h3>");
-			camel_stream_printf (t->stream, "%s", err->message);
-			camel_stream_printf (t->stream, "</div>");
+			camel_stream_write_string (t->stream, str, NULL, NULL);
+			g_free (str);
+			camel_stream_write_string (t->stream, "<div style=\"border: solid 0px; padding: 4px;\">\n", NULL, NULL);
+			camel_stream_write_string (t->stream, "<h3>Error!</h3>", NULL, NULL);
+			camel_stream_write_string (t->stream, err->message, NULL, NULL);
+			camel_stream_write_string (t->stream, "</div>", NULL, NULL);
 			goto out;
 		}
 
@@ -2326,30 +2335,39 @@ void org_gnome_cooly_format_rss(void *ep
 		} else
 			goto out;
 
-		camel_stream_printf (fstream,
+		str = g_strdup_printf (
 			"<div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
 			frame_colour & 0xffffff,
 			content_colour & 0xffffff,
 			text_colour & 0xffffff);
-		camel_stream_printf (fstream,
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
+		str = g_strdup_printf (
 			"<div style=\"border: solid 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 			"<b><font size=+1><a href=%s>%s</a></font></b></div>",
 			content_colour & 0xEDECEB & 0xffffff,
 			text_colour & 0xffffff,
 			website, subject);
-		if (category)
-			camel_stream_printf(fstream,
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
+		if (category) {
+			str = g_strdup_printf (
 				"<div style=\"border: solid 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 				"<b><font size=-1>%s: %s</font></b></div>",
 				content_colour & 0xEDECEB & 0xffffff, text_colour & 0xffffff,
 				_("Posted under"), category);
-		camel_stream_printf (fstream,
+			camel_stream_write_string (fstream, str, NULL, NULL);
+			g_free (str);
+		}
+		str = g_strdup_printf (
 				"<div style=\"border: solid #%06x 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 				"%s</div>",
 				frame_colour & 0xffffff,
 				content_colour & 0xffffff,
 				text_colour & 0xffffff,
 				buff);
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
 
 		g_string_free(content, 1);
 	} else {
@@ -2476,15 +2494,16 @@ pixdone:			g_free(real_image);
 		feed_file = g_strdup(tmp_path);
 #endif
 
-		camel_stream_printf (
-			fstream,
+		str = g_strdup_printf (
 			"<div style=\"border: solid #%06x 1px; background-color: #%06x; padding: 2px; color: #%06x;\">",
 			frame_colour & 0xffffff,
 			content_colour & 0xEDECEB & 0xffffff,
 			text_colour & 0xffffff);
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
 		if (g_file_test(tmp_path, G_FILE_TEST_EXISTS)){
 			if ((pixbuf = gdk_pixbuf_new_from_file(tmp_path, NULL))) {
-				camel_stream_printf (fstream,
+				str = g_strdup_printf (
 					"<div style=\"border: solid 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 					"<img height=16 src=%s>"
 					"<b><font size=+1><a href=%s>%s</a></font></b></div>",
@@ -2493,6 +2512,8 @@ pixdone:			g_free(real_image);
 					feed_file,
 					website,
 					subject);
+				camel_stream_write_string (fstream, str, NULL, NULL);
+				g_free (str);
 				g_object_unref(pixbuf);
 				g_free(feed_file);
 				goto render_body;
@@ -2508,38 +2529,47 @@ pixdone:			g_free(real_image);
 		iconfile = g_strdup(tmp_file);
 #endif
 		g_free(tmp_file);
-		camel_stream_printf (fstream,
+		str = g_strdup_printf (
 			"<div style=\"border: solid 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 			"<img height=16 src=%s>"
 			"<b><font size=+1><a href=%s>%s</a></font></b></div>",
 			content_colour & 0xEDECEB & 0xffffff, text_colour & 0xffffff,
 			iconfile, website, subject);
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
 		g_free(iconfile);
 		g_free(feed_file);
 
-render_body:	if (category)
-			camel_stream_printf(fstream,
+render_body:	if (category) {
+			str = g_strdup_printf (
 				"<div style=\"border: solid 0px; background-color: #%06x; padding: 2px; color: #%06x;\">"
 				"<b><font size=-1>Posted under: %s</font></b></div>",
 				content_colour & 0xEDECEB & 0xffffff,
 				text_colour & 0xffffff,
 				category);
-		camel_stream_printf (fstream,
-				"<div style=\"border: solid #%06x 0px; background-color: #%06x; padding: 10px; color: #%06x;\">"
-				"%s</div>",
-				frame_colour & 0xffffff,
-				content_colour & 0xffffff,
-				text_colour & 0xffffff,
-				buff);
+			camel_stream_write_string (fstream, str, NULL, NULL);
+			g_free (str);
+		}
+		str = g_strdup_printf (
+			"<div style=\"border: solid #%06x 0px; background-color: #%06x; padding: 10px; color: #%06x;\">"
+			"%s</div>",
+			frame_colour & 0xffffff,
+			content_colour & 0xffffff,
+			text_colour & 0xffffff,
+			buff);
+		camel_stream_write_string (fstream, str, NULL, NULL);
+		g_free (str);
 		if (comments && gconf_client_get_bool (rss_gconf,
 						GCONF_KEY_SHOW_COMMENTS,
 						NULL)) {
 			if (commstream) {
-				camel_stream_printf (fstream,
+				str = g_strdup_printf (
 					"<div style=\"border: solid #%06x 0px; background-color: #%06x; padding: 2px; color: #%06x;\">",
 					frame_colour & 0xffffff,
 					content_colour & 0xEDECEB & 0xffffff,
 					text_colour & 0xffffff);
+				camel_stream_write_string (fstream, str, NULL, NULL);
+				g_free (str);
 				result = print_comments(comments, commstream, (EMFormatHTML *)t->format);
 				g_free(commstream);
 				rfrclsid = g_strdup_printf ("org-gnome-rss-controls-%d",
@@ -2555,15 +2585,19 @@ render_body:	if (category)
 				pobj->website = g_strdup(comments);
 				//this might not be needed but we want to make sure po->html is destroyed
 				pobj->object.free = free_rss_controls;
-				camel_stream_printf(fstream,
+				str = g_strdup_printf (
 					"<object height=25 classid=%s></object>", rfrclsid);
+				camel_stream_write_string (fstream, str, NULL, NULL);
+				g_free (str);
 				if (result && strlen(result)) {
-					camel_stream_printf(fstream,
+					str = g_strdup_printf (
 					"<div style=\"border: solid #%06x 0px; background-color: #%06x; padding: 10px; color: #%06x;\">%s",
 						frame_colour & 0xffffff,
 						content_colour & 0xffffff,
 						text_colour & 0xffffff,
 						result);
+					camel_stream_write_string (fstream, str, NULL, NULL);
+					g_free (str);
 					g_free(result);
 				}
 				g_free(rfrclsid);
@@ -2573,9 +2607,9 @@ render_body:	if (category)
 						rf->hr, g_strstrip(feedid)));
 				fetch_comments(comments, g_strdup(uri), (EMFormatHTML *)t->format);
 			}
-			camel_stream_printf (fstream, "</div>");
+			camel_stream_write_string (fstream, "</div>", NULL, NULL);
 		}
-		camel_stream_printf (fstream, "</div>");
+		camel_stream_write_string (fstream, "</div>", NULL, NULL);
 	}
 
 	//this is required for proper charset rendering when html
@@ -2614,16 +2648,19 @@ out:	if (addr)
 		g_free(addr);
 	return;
 fmerror:
-	camel_stream_printf (t->stream,
+	str = g_strdup_printf (
 		"<div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
 		frame_colour & 0xffffff, content_colour & 0xffffff, text_colour & 0xffffff);
-	camel_stream_printf(t->stream,
-		"<div style=\"border: solid 0px; padding: 4px;\">\n");
-	camel_stream_printf (t->stream,
+	camel_stream_write_string (t->stream, str, NULL, NULL);
+	g_free (str);
+	camel_stream_write_string (t->stream,
+		"<div style=\"border: solid 0px; padding: 4px;\">\n",
+		NULL, NULL);
+	camel_stream_write_string (t->stream,
 		"<h3>Formatting error!</h3>"
-		"Feed article corrupted! Cannot format article.");
-	camel_stream_printf (t->stream,
-		"</div></div>");
+                "Feed article corrupted! Cannot format article.",
+		NULL, NULL);
+	camel_stream_write_string (t->stream, "</div></div>", NULL, NULL);
 	return;
 }
 
@@ -4536,15 +4573,6 @@ struct _EShell {
 typedef struct _EShell EShell;
 #endif
 
-void get_shell(void *ep, ESEventTargetShell *t)
-{
-#if EVOLUTION_VERSION < 22900 //KB//
-	EShell *shell = t->shell;
-	EShellPrivate *priv = (EShellPrivate *)shell->priv;
-	evo_window = (GtkWidget *)priv->windows;
-#endif
-}
-
 #if EVOLUTION_VERSION < 22900 //KB
 void org_gnome_cooly_rss_startup(void *ep, EMPopupTargetSelect *t);
 
@@ -5145,7 +5173,7 @@ create_mail(create_feed *CF)
 	camel_content_type_unref (type);
 	stream = camel_stream_mem_new ();
 	// w/out an format argument this throws and seg fault
-	camel_stream_printf (stream, "%s", CF->body);
+	camel_stream_write_string (stream, CF->body, NULL, NULL);
 #if (DATASERVER_VERSION >= 2033001)
 	/*FIXME may block */
 	camel_data_wrapper_construct_from_stream_sync (rtext, stream, NULL, NULL);
Index: evolution-rss-0.2.90/src/org-gnome-evolution-rss.eplug.xml
===================================================================
--- evolution-rss-0.2.90.orig/src/org-gnome-evolution-rss.eplug.xml
+++ evolution-rss-0.2.90/src/org-gnome-evolution-rss.eplug.xml
@@ -20,11 +20,6 @@ HTML can be displayed using the followin
 +URL+</_description>
 	<author name="Lucian Langa" email="cooly@gnome.eu.org"/>
 	<hook class="org.gnome.evolution.shell.events:1.0">
-		<event id="started.done"
-			handle="get_shell"
-			target="shell"/>
-	</hook>
-	<hook class="org.gnome.evolution.shell.events:1.0">
 		<event id="upgrade.done"
 			handle="org_gnome_cooly_rss_startup"
 			target="upgrade"/>
Index: evolution-rss-0.2.90/src/rss.h
===================================================================
--- evolution-rss-0.2.90.orig/src/rss.h
+++ evolution-rss-0.2.90/src/rss.h
@@ -507,9 +507,6 @@ finish_update_feed_image (
 	SoupMessage *msg,
 	gpointer user_data);
 #endif
-//#if EVOLUTION_VERSION >= 22900
-void get_shell(void *ep, ESEventTargetShell *t);
-//#endif
 void rss_finalize(void);
 gboolean check_update_feed_image(gchar *key);
 void update_main_folder(gchar *new_name);
openSUSE Build Service is sponsored by