diff options
Diffstat (limited to 'my-evolution/e-summary-rdf.c')
-rw-r--r-- | my-evolution/e-summary-rdf.c | 17 |
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); |