gio: handle GSimpleAsyncResult errors in _finish vmethods
authorDan Winship <danw@gnome.org>
Mon, 11 Jun 2012 17:44:19 +0000 (13:44 -0400)
committerDan Winship <danw@gnome.org>
Tue, 10 Jul 2012 14:47:55 +0000 (10:47 -0400)
commit538b2f106de78b7dfeac2a98f3d5594ed0ed2ade
treeecc78112d2d59966c3a47c86028396fe0e3d521d
parenta98d26c9bbd40b5d00d5a1536402c9196534087c
gio: handle GSimpleAsyncResult errors in _finish vmethods

Originally, the standard idiom with GSimpleAsyncResult was to handle
all errors in the _finish wrapper function, so that vmethods only had
to deal with successful results. But this means that chaining up to a
parent _finish vmethod won't work correctly. Fix this by also checking
for errors in all the relevant vmethods. (We have to redundantly check
in both the vmethod and the wrapper to preserve compatibility.)

https://bugzilla.gnome.org/show_bug.cgi?id=667375
https://bugzilla.gnome.org/show_bug.cgi?id=661767
gio/gasyncinitable.c
gio/gbufferedinputstream.c
gio/gfile.c
gio/gfileenumerator.c
gio/gfileinputstream.c
gio/gfileoutputstream.c
gio/ginputstream.c
gio/giostream.c
gio/gloadableicon.c
gio/goutputstream.c