summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdk-pixbuf/gdk-pixbuf-animation.c5
-rw-r--r--gdk-pixbuf/gdk-pixbuf-io.c31
-rw-r--r--gdk-pixbuf/io-gif.c9
-rw-r--r--gdk-pixbuf/io-xbm.c3
-rw-r--r--gdk-pixbuf/io-xpm.c3
5 files changed, 32 insertions, 19 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-animation.c b/gdk-pixbuf/gdk-pixbuf-animation.c
index ad7e76fc9..e45bcfcd2 100644
--- a/gdk-pixbuf/gdk-pixbuf-animation.c
+++ b/gdk-pixbuf/gdk-pixbuf-animation.c
@@ -147,12 +147,13 @@ gdk_pixbuf_animation_new_from_file (const char *filename,
display_name = g_filename_display_name (filename);
f = g_fopen (filename, "rb");
if (!f) {
+ gint save_errno = errno;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to open file '%s': %s"),
display_name,
- g_strerror (errno));
+ g_strerror (save_errno));
g_free (display_name);
return NULL;
}
diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c
index 52c30838a..a76f46431 100644
--- a/gdk-pixbuf/gdk-pixbuf-io.c
+++ b/gdk-pixbuf/gdk-pixbuf-io.c
@@ -851,12 +851,13 @@ gdk_pixbuf_new_from_file (const char *filename,
f = g_fopen (filename, "rb");
if (!f) {
+ gint save_errno = errno;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to open file '%s': %s"),
display_name,
- g_strerror (errno));
+ g_strerror (save_errno));
g_free (display_name);
return NULL;
}
@@ -1101,13 +1102,14 @@ gdk_pixbuf_new_from_file_at_scale (const char *filename,
f = g_fopen (filename, "rb");
if (!f) {
+ gint save_errno = errno;
gchar *display_name = g_filename_display_name (filename);
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to open file '%s': %s"),
display_name,
- g_strerror (errno));
+ g_strerror (save_errno));
g_free (display_name);
return NULL;
}
@@ -1370,11 +1372,12 @@ save_to_file_callback (const gchar *buf,
n = fwrite (buf, 1, count, filehandle);
if (n != count) {
+ gint save_errno = errno;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Error writing to image file: %s"),
- g_strerror (errno));
+ g_strerror (save_errno));
return FALSE;
}
return TRUE;
@@ -1462,9 +1465,10 @@ save_to_callback_with_tmp_file (GdkPixbufModule *image_module,
goto end;
f = fdopen (fd, "wb+");
if (f == NULL) {
+ gint save_errno = errno;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to open temporary file"));
goto end;
}
@@ -1487,9 +1491,10 @@ save_to_callback_with_tmp_file (GdkPixbufModule *image_module,
break;
}
if (ferror (f)) {
+ gint save_errno = errno;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to read from temporary file"));
goto end;
}
@@ -1720,13 +1725,14 @@ gdk_pixbuf_savev (GdkPixbuf *pixbuf,
f = g_fopen (filename, "wb");
if (f == NULL) {
+ gint save_errno = errno;
gchar *display_name = g_filename_display_name (filename);
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to open '%s' for writing: %s"),
display_name,
- g_strerror (errno));
+ g_strerror (save_errno));
g_free (display_name);
return FALSE;
}
@@ -1744,13 +1750,14 @@ gdk_pixbuf_savev (GdkPixbuf *pixbuf,
}
if (fclose (f) < 0) {
+ gint save_errno = errno;
gchar *display_name = g_filename_display_name (filename);
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to close '%s' while writing image, all data may not have been saved: %s"),
display_name,
- g_strerror (errno));
+ g_strerror (save_errno));
g_free (display_name);
return FALSE;
}
diff --git a/gdk-pixbuf/io-gif.c b/gdk-pixbuf/io-gif.c
index 886ef9a59..74fab8cc6 100644
--- a/gdk-pixbuf/io-gif.c
+++ b/gdk-pixbuf/io-gif.c
@@ -214,11 +214,14 @@ gif_read (GifContext *context, guchar *buffer, size_t len)
#endif
retval = (fread(buffer, len, 1, context->file) != 0);
- if (!retval && ferror (context->file))
+ if (!retval && ferror (context->file)) {
+ gint save_errno = errno;
g_set_error (context->error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
- _("Failure reading GIF: %s"), strerror (errno));
+ g_file_error_from_errno (save_errno),
+ _("Failure reading GIF: %s"),
+ strerror (save_errno));
+ }
#ifdef IO_GIFDEBUG
if (len < 100) {
diff --git a/gdk-pixbuf/io-xbm.c b/gdk-pixbuf/io-xbm.c
index 90d8120a1..5fe2cafdd 100644
--- a/gdk-pixbuf/io-xbm.c
+++ b/gdk-pixbuf/io-xbm.c
@@ -435,10 +435,11 @@ gdk_pixbuf__xbm_image_load_increment (gpointer data,
g_return_val_if_fail (data != NULL, FALSE);
if (fwrite (buf, sizeof (guchar), size, context->file) != size) {
+ gint save_errno = errno;
context->all_okay = FALSE;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to write to temporary file when loading XBM image"));
return FALSE;
}
diff --git a/gdk-pixbuf/io-xpm.c b/gdk-pixbuf/io-xpm.c
index 3357aab4b..8959a0483 100644
--- a/gdk-pixbuf/io-xpm.c
+++ b/gdk-pixbuf/io-xpm.c
@@ -769,10 +769,11 @@ gdk_pixbuf__xpm_image_load_increment (gpointer data,
g_return_val_if_fail (data != NULL, FALSE);
if (fwrite (buf, sizeof (guchar), size, context->file) != size) {
+ gint save_errno = errno;
context->all_okay = FALSE;
g_set_error (error,
G_FILE_ERROR,
- g_file_error_from_errno (errno),
+ g_file_error_from_errno (save_errno),
_("Failed to write to temporary file when loading XPM image"));
return FALSE;
}