diff options
Diffstat (limited to 'camel/camel-data-wrapper.c')
-rw-r--r-- | camel/camel-data-wrapper.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/camel/camel-data-wrapper.c b/camel/camel-data-wrapper.c index 1ec70c6b37..fdc9aac45b 100644 --- a/camel/camel-data-wrapper.c +++ b/camel/camel-data-wrapper.c @@ -126,6 +126,12 @@ _finalize (GtkObject *object) if (camel_data_wrapper->mime_type) gmime_content_field_unref (camel_data_wrapper->mime_type); + if (camel_data_wrapper->input_stream) + gtk_object_unref (GTK_OBJECT (camel_data_wrapper->input_stream)); + + if (camel_data_wrapper->output_stream) + gtk_object_unref (GTK_OBJECT (camel_data_wrapper->output_stream)); + parent_class->finalize (object); CAMEL_LOG_FULL_DEBUG ("Leaving CamelDataWrapper::finalize\n"); } @@ -140,6 +146,8 @@ _set_input_stream (CamelDataWrapper *data_wrapper, CamelStream *stream) { g_assert (data_wrapper); data_wrapper->input_stream = stream; + if (stream) + gtk_object_ref (GTK_OBJECT (stream)); } @@ -176,6 +184,8 @@ _set_output_stream (CamelDataWrapper *data_wrapper, CamelStream *stream) { g_assert (data_wrapper); data_wrapper->output_stream = stream; + if (stream) + gtk_object_ref (GTK_OBJECT (stream)); } void |