fix signature of this function and propagate errors from

2008-01-16  Michael Natterer  <mitch@imendio.com>

	* gdk-pixbuf-io.c (save_to_stream): fix signature of this function
	and propagate errors from g_output_stream_write(). Return error
	also on incomplete writes (which don't generate an error by
	themselves).

	Unrelated:

	(gdk_pixbuf_io_init): initialize "builtin_module" on a separate
	line to avoid compiler warning in the common case of no built-in
	modules.


svn path=/trunk/; revision=19378
This commit is contained in:
Michael Natterer 2008-01-16 14:35:46 +00:00 committed by Michael Natterer
parent 7ffe104a77
commit 7932cfb669
2 changed files with 37 additions and 6 deletions

View File

@ -1,3 +1,16 @@
2008-01-16 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf-io.c (save_to_stream): fix signature of this function
and propagate errors from g_output_stream_write(). Return error
also on incomplete writes (which don't generate an error by
themselves).
Unrelated:
(gdk_pixbuf_io_init): initialize "builtin_module" on a separate
line to avoid compiler warning in the common case of no built-in
modules.
2008-01-16 Michael Natterer <mitch@imendio.com>
* Makefile.am (LDADDS): use $GDK_PIXBUF_DEP_LIBS instead of

View File

@ -306,7 +306,12 @@ gdk_pixbuf_io_init (void)
GdkPixbufModulePattern *pattern;
GError *error = NULL;
#endif
GdkPixbufModule *builtin_module = NULL;
GdkPixbufModule *builtin_module ;
/* initialize on separate line to avoid compiler warnings in the
* common case of no compiled-in modules.
*/
builtin_module = NULL;
#define load_one_builtin_module(format) \
builtin_module = g_new0 (GdkPixbufModule, 1); \
@ -2209,16 +2214,29 @@ typedef struct {
static gboolean
save_to_stream (const gchar *buffer,
gsize count,
GCancellable *cancellable,
GError **error,
gpointer data)
{
SaveToStreamData *sdata = (SaveToStreamData *)data;
GError *my_error = NULL;
gsize n;
g_output_stream_write (sdata->stream,
buffer, count,
sdata->cancellable,
error);
n = g_output_stream_write (sdata->stream,
buffer, count,
sdata->cancellable,
&my_error);
if (n != count) {
if (!my_error) {
g_set_error (error,
G_IO_ERROR, 0,
_("Error writing to image stream"));
}
else {
g_propagate_error (error, my_error);
}
return FALSE;
}
return TRUE;
}
/**