aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary-rdf.c
diff options
context:
space:
mode:
authorIain Holmes <iain@src.gnome.org>2001-10-19 04:17:52 +0800
committerIain Holmes <iain@src.gnome.org>2001-10-19 04:17:52 +0800
commitf19b05e4561a256176bb09367ccbc49add7030d9 (patch)
treef922f5f18a5aa91379178613c416dd10b3c3c6d9 /my-evolution/e-summary-rdf.c
parent3755be0a4ca10fdcd53fb50eaa34422ee8dcf1d6 (diff)
downloadgsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar.gz
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar.bz2
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar.lz
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar.xz
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.tar.zst
gsoc2013-evolution-f19b05e4561a256176bb09367ccbc49add7030d9.zip
Stuff to try to find the memory corruption
svn path=/trunk/; revision=13769
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);