diff options
author | bertrand <bertrand@helixcode.com> | 2000-03-09 03:53:31 +0800 |
---|---|---|
committer | Bertrand Guiheneuf <bertrand@src.gnome.org> | 2000-03-09 03:53:31 +0800 |
commit | 207a1395e10cbce4f9ec3baa33a649fb9a151a27 (patch) | |
tree | 385a02f3528a4b582c38af77c9c98f44032514a5 /camel/camel-mime-part.c | |
parent | 13edeabcd2978c1e7febe005cd3fb2f19c55edc1 (diff) | |
download | gsoc2013-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.c | 27 |
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); |