aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary-rdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'my-evolution/e-summary-rdf.c')
-rw-r--r--my-evolution/e-summary-rdf.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/my-evolution/e-summary-rdf.c b/my-evolution/e-summary-rdf.c
index 97e95a873a..498717e3c1 100644
--- a/my-evolution/e-summary-rdf.c
+++ b/my-evolution/e-summary-rdf.c
@@ -411,6 +411,7 @@ open_callback (GnomeVFSAsyncHandle *handle,
if (result != GNOME_VFS_OK) {
char *str;
+ r->handle = NULL;
g_free (r->html);
str = g_strdup_printf ("<b>%s:</b><br>%s", _("Error downloading RDF"),
r->uri);
@@ -456,6 +457,7 @@ e_summary_rdf_update (ESummary *summary)
rdf->string = NULL;
}
+ g_warning ("Opening %s", rdf->uri);
gnome_vfs_async_open (&rdf->handle, rdf->uri,
GNOME_VFS_OPEN_READ,
(GnomeVFSAsyncOpenCallback) open_callback, rdf);
@@ -581,6 +583,7 @@ e_summary_rdf_set_online (ESummary *summary,
void *data)
{
ESummaryRDF *rdf;
+ GList *p;
rdf = summary->rdf;
if (rdf->online == online) {
@@ -593,6 +596,16 @@ e_summary_rdf_set_online (ESummary *summary,
(GtkFunction) e_summary_rdf_update,
summary);
} else {
+ for (p = rdf->rdfs; p; p = p->next) {
+ RDF *r;
+
+ r = p->data;
+ if (r->handle) {
+ gnome_vfs_async_cancel (r->handle);
+ r->handle = NULL;
+ }
+ }
+
gtk_timeout_remove (rdf->timeout);
rdf->timeout = 0;
}