aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-data-wrapper.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-04-19 11:20:13 +0800
committerDan Winship <danw@src.gnome.org>2000-04-19 11:20:13 +0800
commit80b463a043ce176168c17d3a82db01941feb4b63 (patch)
tree7f68d783d680b6e0cd541e427678a8a7b511b1b0 /camel/camel-data-wrapper.c
parente3769571ce44768d25a4c13c3c1da9b0166de5b5 (diff)
downloadgsoc2013-evolution-80b463a043ce176168c17d3a82db01941feb4b63.tar.gz
gsoc2013-evolution-80b463a043ce176168c17d3a82db01941feb4b63.tar.zst
gsoc2013-evolution-80b463a043ce176168c17d3a82db01941feb4b63.zip
do better reference counting of streams so they actually go away when they
* camel-mime-part.c (my_set_input_stream): * camel-data-wrapper.c (set_input_stream, set_output_stream): do better reference counting of streams so they actually go away when they should. svn path=/trunk/; revision=2490
Diffstat (limited to 'camel/camel-data-wrapper.c')
-rw-r--r--camel/camel-data-wrapper.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/camel/camel-data-wrapper.c b/camel/camel-data-wrapper.c
index 3d05ae3b54..4f071e9063 100644
--- a/camel/camel-data-wrapper.c
+++ b/camel/camel-data-wrapper.c
@@ -143,8 +143,10 @@ set_input_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
if (!data_wrapper->output_stream && stream)
set_output_stream (data_wrapper, stream);
- if (stream)
+ if (stream) {
gtk_object_ref (GTK_OBJECT (stream));
+ gtk_object_sink (GTK_OBJECT (stream));
+ }
}
/**
@@ -201,8 +203,10 @@ set_output_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
gtk_object_unref (GTK_OBJECT (data_wrapper->output_stream));
data_wrapper->output_stream = stream;
- if (stream)
+ if (stream) {
gtk_object_ref (GTK_OBJECT (stream));
+ gtk_object_sink (GTK_OBJECT (stream));
+ }
}
/**