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.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/my-evolution/e-summary-rdf.c b/my-evolution/e-summary-rdf.c
index 1b54cb2288..97e95a873a 100644
--- a/my-evolution/e-summary-rdf.c
+++ b/my-evolution/e-summary-rdf.c
@@ -428,7 +428,7 @@ open_callback (GnomeVFSAsyncHandle *handle,
(GnomeVFSAsyncReadCallback) read_callback, r);
}
-static gboolean
+gboolean
e_summary_rdf_update (ESummary *summary)
{
GList *r;
@@ -441,6 +441,21 @@ e_summary_rdf_update (ESummary *summary)
for (r = summary->rdf->rdfs; r; r = r->next) {
RDF *rdf = r->data;
+ if (rdf->handle) {
+ gnome_vfs_async_cancel (rdf->handle);
+ rdf->handle = NULL;
+ }
+
+ if (rdf->buffer) {
+ g_free (rdf->buffer);
+ rdf->buffer = NULL;
+ }
+
+ if (rdf->string) {
+ g_string_free (rdf->string, TRUE);
+ rdf->string = NULL;
+ }
+
gnome_vfs_async_open (&rdf->handle, rdf->uri,
GNOME_VFS_OPEN_READ,
(GnomeVFSAsyncOpenCallback) open_callback, rdf);