rpms/evolution-rss/F-13 evolution-rss-0.1.9-image-fix.patch, NONE, 1.1 evolution-rss.spec, 1.50, 1.51

Lucian Langa lucilanga at fedoraproject.org
Wed May 26 13:02:16 UTC 2010


Author: lucilanga

Update of /cvs/pkgs/rpms/evolution-rss/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv11188

Modified Files:
	evolution-rss.spec 
Added Files:
	evolution-rss-0.1.9-image-fix.patch 
Log Message:
add patch0 to fix images (#595745)

evolution-rss-0.1.9-image-fix.patch:
 parser.c    |    6 +++++
 rss-image.h |    1 
 rss.c       |   71 ++++++++++++++++++++++++++++--------------------------------
 3 files changed, 41 insertions(+), 37 deletions(-)

--- NEW FILE evolution-rss-0.1.9-image-fix.patch ---
diff --git a/src/parser.c b/src/parser.c
index e7423c1..0d01ae2 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -37,6 +37,7 @@ extern int rss_verbose_debug;
 #include "fetch.h"
 #include "rss.h"
 #include "rss-config.h"
+#include "rss-image.h"
 #include "parser.h"
 #include "misc.h"
 #include "network-soup.h"
@@ -863,6 +864,7 @@ process_images(gchar *text, gchar *link, EMFormatHTML *format)
 {
 	xmlChar *buff = NULL;
 	guint size = 0;
+	gchar *tname;
 	xmlDoc *src = (xmlDoc *)parse_html_sux (text, strlen(text));
 	if (src) {
 		xmlNode *doc = (xmlNode *)src;
@@ -871,6 +873,10 @@ process_images(gchar *text, gchar *link, EMFormatHTML *format)
 			xmlChar *url = xmlGetProp(doc, (xmlChar *)"src");
 			if (url) {
 				if ((name = fetch_image_redraw((gchar *)url, link, format))) {
+					tname = decode_image_cache_filename(name);
+					g_free(name);
+					name = g_filename_to_uri (tname, NULL, NULL);
+					g_free(tname);
 					xmlSetProp(
 						doc, (xmlChar *)"src",
 						(xmlChar *)name);
diff --git a/src/rss-image.h b/src/rss-image.h
index dbc8e4f..204b6d3 100644
--- a/src/rss-image.h
+++ b/src/rss-image.h
@@ -26,6 +26,7 @@ typedef struct _FEED_IMAGE {
 
 void rss_load_images(void);
 gboolean display_folder_icon(GtkTreeStore *store, gchar *key);
+gchar *decode_image_cache_filename(gchar *name);
 void
 #if LIBSOUP_VERSION < 2003000
 finish_create_icon (SoupMessage *msg, FEED_IMAGE *user_data);
diff --git a/src/rss.c b/src/rss.c
index e2d73d7..ac3bfe6 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -2203,6 +2203,11 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t)	//camelmimepart
 
 		g_string_free(content, 1);
 	} else {
+		gchar *wids;
+		xmlDoc *src;
+		guint width;
+		GtkWidget *obj = (GtkWidget *)emfh->html;
+
 		d("normal html rendering\n");
 		buffer = g_byte_array_new ();
 		camel_stream_mem_set_byte_array (stream, buffer);
@@ -2226,38 +2231,31 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t)	//camelmimepart
 		} else
 			tmp = g_strdup((gchar *)(buffer->data));
 
-		if (gconf_client_get_bool (rss_gconf,
-					GCONF_KEY_IMAGE_RESIZE,
-					NULL)) {
-			gchar *wids;
-			xmlDoc *src;
-			guint width;
-
-			GtkWidget *obj = (GtkWidget *)emfh->html;
-			gtk_widget_get_allocation(obj, &alloc);
-			width = alloc.width - 56;
-			wids = g_strdup_printf("%d", width);
-			src = (xmlDoc *)parse_html_sux(
-					tmp,
-					strlen(tmp));
-			if (src) {
-				xmlNode *doc = (xmlNode *)src;
-				while ((doc = html_find(doc, (gchar *)"img"))) {
-					int real_width = 0;
-					xmlChar *url = xmlGetProp(
-							doc,
-							(xmlChar *)"src");
-					//FIXME: this should run even if image_resize is not on
-					gchar *real_image = verify_image(
-								(gchar *)url,
-								emfh);
-					if (real_image) {
-						xmlSetProp(
-							doc,
-							(xmlChar *)"src",
-							(xmlChar *)real_image);
-						g_free(real_image);
-					}
+		gtk_widget_get_allocation(obj, &alloc);
+		width = alloc.width - 56;
+		wids = g_strdup_printf("%d", width);
+		src = (xmlDoc *)parse_html_sux(
+				tmp,
+				strlen(tmp));
+		if (src) {
+			xmlNode *doc = (xmlNode *)src;
+			while ((doc = html_find(doc, (gchar *)"img"))) {
+				int real_width = 0;
+				xmlChar *url = xmlGetProp(
+						doc,
+						(xmlChar *)"src");
+				gchar *real_image = verify_image(
+							(gchar *)url,
+							emfh);
+				if (real_image) {
+					xmlSetProp(
+						doc,
+						(xmlChar *)"src",
+						(xmlChar *)real_image);
+					g_free(real_image);
+				}
+				if (gconf_client_get_bool (rss_gconf,
+					GCONF_KEY_IMAGE_RESIZE, NULL)) {
 					pix = gdk_pixbuf_new_from_file(
 						(const char *)url,
 						(GError **)NULL);
@@ -2287,12 +2285,11 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t)	//camelmimepart
 					}
 pixdone:			g_free(url);
 				}
-				xmlDocDumpMemory(src, &buff, (int*)&size);
-				xmlFree(src);
 			}
-			g_free(wids);
-		} else
-			buff=(xmlChar *)tmp;
+			xmlDocDumpMemory(src, &buff, (int*)&size);
+			xmlFree(src);
+		}
+		g_free(wids);
 
 		g_byte_array_free (buffer, 1);
 #if (DATASERVER_VERSION >= 2031001)


Index: evolution-rss.spec
===================================================================
RCS file: /cvs/pkgs/rpms/evolution-rss/F-13/evolution-rss.spec,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -p -r1.50 -r1.51
--- evolution-rss.spec	25 May 2010 18:56:14 -0000	1.50
+++ evolution-rss.spec	26 May 2010 13:02:16 -0000	1.51
@@ -11,11 +11,12 @@
 Name:		evolution-rss
 Summary:	Evolution RSS Reader
 Version:	0.1.9
-Release:	7.%{snapshot}%{?dist}
+Release:	8.%{snapshot}%{?dist}
 Group:		Applications/Internet
 License:	GPLv2 and GPLv2+
 URL:		http://gnome.eu.org/evo/index.php/Evolution_RSS_Reader_Plugin
 Source:		%{tarfile}
+Patch0:		evolution-rss-0.1.9-image-fix.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires:	evolution
 
@@ -38,6 +39,7 @@ This is an evolution plug-in which enabl
 
 %prep
 %setup -q -n evolution-rss-%{version}
+%patch0 -p1 -b .image-fix
 
 %build
 ./autogen.sh
@@ -93,6 +95,9 @@ fi
 %{_libdir}/evolution/*/plugins/liborg-gnome-evolution-rss.so
 
 %changelog
+* Wed May 26 2010 Lucian Langa <cooly at gnome.eu.org> - 0.1.9-8.20100525git
+- add upstream patch to fix image issues (#595745)
+
 * Tue May 25 2010 Lucian Langa <cooly at gnome.eu.org> - 0.1.9-7.20100525git
 - latest upstream snapshot (fixes possible image problems)
 



More information about the scm-commits mailing list