aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-part.c
diff options
context:
space:
mode:
authorbertrand <bertrand@helixcode.com>2000-03-09 03:53:31 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>2000-03-09 03:53:31 +0800
commit207a1395e10cbce4f9ec3baa33a649fb9a151a27 (patch)
tree385a02f3528a4b582c38af77c9c98f44032514a5 /camel/camel-mime-part.c
parent13edeabcd2978c1e7febe005cd3fb2f19c55edc1 (diff)
downloadgsoc2013-evolution-207a1395e10cbce4f9ec3baa33a649fb9a151a27.tar.gz
gsoc2013-evolution-207a1395e10cbce4f9ec3baa33a649fb9a151a27.tar.zst
gsoc2013-evolution-207a1395e10cbce4f9ec3baa33a649fb9a151a27.zip
plug mem leaks due to bad documentation of
2000-03-07 bertrand <bertrand@helixcode.com> * camel-formatter.c (handle_mime_part): plug mem leaks due to bad documentation of camel_content_field_get_mime_type (print_camel_body_part): idem (handle_multipart_alternative): idem * gmime-content-field.c (gmime_content_field_get_mime_type): documentation fix. * camel-mime-part.c (my_finalize): unref the content_input_stream if any. * shell/e-shell-shortcut.c (shortcut_bar_item_selected): removed a test that prevented the standard menu to be shown. svn path=/trunk/; revision=2089
Diffstat (limited to 'camel/camel-mime-part.c')
-rw-r--r--camel/camel-mime-part.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c
index 953ee0d077..56ebe4fd89 100644
--- a/camel/camel-mime-part.c
+++ b/camel/camel-mime-part.c
@@ -191,18 +191,18 @@ camel_mime_part_init (gpointer object, gpointer klass)
{
CamelMimePart *camel_mime_part = CAMEL_MIME_PART (object);
- camel_mime_part->content_type = gmime_content_field_new (NULL, NULL);
- camel_mime_part->description = NULL;
- camel_mime_part->disposition = NULL;
- camel_mime_part->content_id = NULL;
- camel_mime_part->content_MD5 = NULL;
- camel_mime_part->content_languages = NULL;
- camel_mime_part->encoding = CAMEL_MIME_PART_ENCODING_DEFAULT;
- camel_mime_part->filename = NULL;
- camel_mime_part->header_lines = NULL;
-
- camel_mime_part->temp_message_buffer = NULL;
+ camel_mime_part->content_type = gmime_content_field_new (NULL, NULL);
+ camel_mime_part->description = NULL;
+ camel_mime_part->disposition = NULL;
+ camel_mime_part->content_id = NULL;
+ camel_mime_part->content_MD5 = NULL;
+ camel_mime_part->content_languages = NULL;
+ camel_mime_part->encoding = CAMEL_MIME_PART_ENCODING_DEFAULT;
+ camel_mime_part->filename = NULL;
+ camel_mime_part->header_lines = NULL;
+ camel_mime_part->temp_message_buffer = NULL;
+ camel_mime_part->content_input_stream = NULL;
}
@@ -253,6 +253,8 @@ my_finalize (GtkObject *object)
if (mime_part->content_type) gmime_content_field_unref (mime_part->content_type);
if (mime_part->temp_message_buffer) g_byte_array_free (mime_part->temp_message_buffer, TRUE);
+ if (mime_part->content_input_stream) gtk_object_unref (GTK_OBJECT (mime_part->content_input_stream));
+
GTK_OBJECT_CLASS (parent_class)->finalize (object);
CAMEL_LOG_FULL_DEBUG ("Leaving CamelMimePart::finalize\n");
}
@@ -870,6 +872,9 @@ my_set_input_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
/* set the input stream for the content object */
content_stream_inf_bound = camel_seekable_stream_get_current_position (seekable_stream);
printf ("Current position = %d\n", content_stream_inf_bound);
+
+ if (mime_part->content_input_stream)
+ gtk_object_unref (mime_part->content_input_stream);
mime_part->content_input_stream = camel_seekable_substream_new_with_seekable_stream_and_bounds (seekable_stream,
content_stream_inf_bound,
-1);