Bug 568394 – dropping the last reference to a stream filter closes the

2009-01-20  Ryan Lortie  <desrt@desrt.ca>

        Bug 568394 – dropping the last reference to a stream filter closes the
        base stream

        * gfilterinputstream.h:
        * gfilterinputstream.c: add "close-base-stream" property and only
        close the base stream if it is true.  issue async close callbacks from
        correct source object.
        * gfilteroutputstream.h:
        * gfilteroutputstream.c: add a "close-base-stream" property and only
        close the base stream if it is true.  issue async close callbacks from
        correct source object.
        * gbufferedoutputstream: check g_filter_output_stream_get_close_base()
        before closing the base stream.  fix invalid source tag comparison in
        close_async (was comparing to flush_async).
        * ../docs/reference/gio/gio-sections.txt:
        * gio.symbols: add
        g_filter_{in,out}put_stream_{g,s}et_close_base_stream
        * tests/filter-streams.c: new test cases
        * tests/Makefile.am: add new test
        * tests/.gitignore: add new test


svn path=/trunk/; revision=7825
This commit is contained in:
Ryan Lortie
2009-01-21 14:09:56 +00:00
committed by Ryan Lortie
parent 4a22510022
commit a9c978a354
11 changed files with 551 additions and 65 deletions

View File

@@ -518,6 +518,8 @@ GFileInputStreamPrivate
<TITLE>GFilterInputStream</TITLE>
GFilterInputStream
g_filter_input_stream_get_base_stream
g_filter_input_stream_get_close_base_stream
g_filter_input_stream_set_close_base_stream
<SUBSECTION Standard>
GFilterInputStreamClass
G_FILTER_INPUT_STREAM
@@ -694,6 +696,8 @@ GFileOutputStreamPrivate
<TITLE>GFilterOutputStream</TITLE>
GFilterOutputStream
g_filter_output_stream_get_base_stream
g_filter_output_stream_get_close_base_stream
g_filter_output_stream_set_close_base_stream
<SUBSECTION Standard>
GFilterOutputStreamClass
G_FILTER_OUTPUT_STREAM