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

Lucian Langa lucilanga at fedoraproject.org
Wed May 26 16:53:10 UTC 2010


Author: lucilanga

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

Modified Files:
	evolution-rss.spec 
Added Files:
	evolution-rss-0.1.9-image-fix2.patch 
Removed Files:
	evolution-rss-0.1.9-image-fix.patch 
Log Message:
updated patch

evolution-rss-0.1.9-image-fix2.patch:
 parser.c    |   12 ++++++++-
 parser.h    |    2 -
 rss-image.h |    1 
 rss.c       |   73 ++++++++++++++++++++++++++++--------------------------------
 4 files changed, 47 insertions(+), 41 deletions(-)

--- NEW FILE evolution-rss-0.1.9-image-fix2.patch ---
diff -Naur evolution-rss-0.1.9/src/parser.c evolution-rss-0.1.9-mod/src/parser.c
--- evolution-rss-0.1.9/src/parser.c	2010-05-25 19:31:08.000000000 +0300
+++ evolution-rss-0.1.9-mod/src/parser.c	2010-05-26 19:49:44.000000000 +0300
@@ -37,6 +37,7 @@
 #include "fetch.h"
 #include "rss.h"
 #include "rss-config.h"
+#include "rss-image.h"
 #include "parser.h"
 #include "misc.h"
 #include "network-soup.h"
@@ -859,10 +860,11 @@
 }
 
 gchar *
-process_images(gchar *text, gchar *link, EMFormatHTML *format)
+process_images(gchar *text, gchar *link, gboolean decode, 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,12 @@
 			xmlChar *url = xmlGetProp(doc, (xmlChar *)"src");
 			if (url) {
 				if ((name = fetch_image_redraw((gchar *)url, link, format))) {
+					if (decode) {
+						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);
@@ -1049,7 +1057,7 @@
 		g_free(b);
 
 		if (feed_name) {
-			gchar *buff = process_images(tmp, link, NULL);
+			gchar *buff = process_images(tmp, link, FALSE, NULL);
 			g_free(tmp);
 			b = buff;
 		} else
diff -Naur evolution-rss-0.1.9/src/parser.h evolution-rss-0.1.9-mod/src/parser.h
--- evolution-rss-0.1.9/src/parser.h	2010-05-25 19:31:08.000000000 +0300
+++ evolution-rss-0.1.9-mod/src/parser.h	2010-05-26 19:49:44.000000000 +0300
@@ -57,7 +57,7 @@
 gchar *dublin_core_rss(xmlNode *node, gchar *fail);
 void syndication_rss(void);
 gchar *wfw_rss(xmlNode *node, gchar *fail);
-gchar *process_images(gchar *text, gchar *link, EMFormatHTML *format);
+gchar *process_images(gchar *text, gchar *link, gboolean decode, EMFormatHTML *format);
 
 #endif /*__RSS_H__*/
 
diff -Naur evolution-rss-0.1.9/src/rss.c evolution-rss-0.1.9-mod/src/rss.c
--- evolution-rss-0.1.9/src/rss.c	2010-05-25 19:31:08.000000000 +0300
+++ evolution-rss-0.1.9-mod/src/rss.c	2010-05-26 19:49:44.000000000 +0300
@@ -2203,6 +2203,11 @@
 
 		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 @@
 		} 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 @@
 					}
 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)
@@ -5603,7 +5600,7 @@
 	xmlNodePtr root = xmlDocGetRootElement (r->cache);
 	if (tree_walk (root, r)) {
 		gchar *comments = update_comments(r);
-		tmp = process_images(comments, r->uri, format);
+		tmp = process_images(comments, r->uri, TRUE, format);
 		g_free(comments);
 		if (r->maindate)
 			g_free(r->maindate);
diff -Naur evolution-rss-0.1.9/src/rss-image.h evolution-rss-0.1.9-mod/src/rss-image.h
--- evolution-rss-0.1.9/src/rss-image.h	2010-05-25 19:31:08.000000000 +0300
+++ evolution-rss-0.1.9-mod/src/rss-image.h	2010-05-26 19:49:39.000000000 +0300
@@ -26,6 +26,7 @@
 
 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);


Index: evolution-rss.spec
===================================================================
RCS file: /cvs/pkgs/rpms/evolution-rss/F-13/evolution-rss.spec,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -p -r1.51 -r1.52
--- evolution-rss.spec	26 May 2010 13:02:16 -0000	1.51
+++ evolution-rss.spec	26 May 2010 16:53:09 -0000	1.52
@@ -11,12 +11,12 @@
 Name:		evolution-rss
 Summary:	Evolution RSS Reader
 Version:	0.1.9
-Release:	8.%{snapshot}%{?dist}
+Release:	9.%{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
+Patch0:		evolution-rss-0.1.9-image-fix2.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires:	evolution
 
@@ -95,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-9.20100525git
+- new upstream patch to fix images issues (#595745)
+
 * Wed May 26 2010 Lucian Langa <cooly at gnome.eu.org> - 0.1.9-8.20100525git
 - add upstream patch to fix image issues (#595745)
 


--- evolution-rss-0.1.9-image-fix.patch DELETED ---



More information about the scm-commits mailing list