Fix the svgz fix

This commit is contained in:
Matthias Clasen 2007-04-01 14:47:10 +00:00
parent a4cfb268e5
commit 581d98f3b1
2 changed files with 77 additions and 2 deletions

72
eog-2.18.0.1-svgz.patch Normal file
View File

@ -0,0 +1,72 @@
--- eog-2.18.0.1/libeog/eog-image.c.svgz 2007-03-12 19:43:29.000000000 -0400
+++ eog-2.18.0.1/libeog/eog-image.c 2007-04-01 10:39:49.000000000 -0400
@@ -455,7 +455,7 @@
}
static GnomeVFSFileSize
-eog_image_determine_file_bytes (EogImage *img, GError **error)
+eog_image_determine_file_bytes (EogImage *img, gchar **mime_type, GError **error)
{
GnomeVFSFileInfo *info;
GnomeVFSFileSize bytes;
@@ -466,15 +466,20 @@
result = gnome_vfs_get_file_info_uri (img->priv->uri,
info,
GNOME_VFS_FILE_INFO_DEFAULT |
+ GNOME_VFS_FILE_INFO_GET_MIME_TYPE |
GNOME_VFS_FILE_INFO_FOLLOW_LINKS);
if ((result != GNOME_VFS_OK) || (info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_SIZE) == 0) {
bytes = 0;
+ if (mime_type)
+ *mime_type = NULL;
g_set_error (error, EOG_IMAGE_ERROR, EOG_IMAGE_ERROR_VFS,
gnome_vfs_result_to_string (result));
}
else {
bytes = info->size;
+ if (mime_type)
+ *mime_type = g_strdup (info->mime_type);
}
gnome_vfs_file_info_unref (info);
@@ -643,6 +648,7 @@
gboolean first_run = TRUE;
EogMetadataReader *md_reader = NULL;
GdkPixbufFormat *format;
+ gchar *mime_type;
gboolean read_image_data = (data2read & EOG_IMAGE_DATA_IMAGE);
g_assert (error == NULL || *error == NULL);
@@ -660,24 +666,29 @@
priv->file_type = NULL;
}
- priv->bytes = eog_image_determine_file_bytes (img, error);
+ priv->bytes = eog_image_determine_file_bytes (img, &mime_type, error);
if (priv->bytes == 0 && (error == NULL || *error != NULL)) {
+ g_free (mime_type);
return FALSE;
}
result = gnome_vfs_open_uri (&handle, priv->uri, GNOME_VFS_OPEN_READ);
if (result != GNOME_VFS_OK) {
+ g_free (mime_type);
g_set_error (error, EOG_IMAGE_ERROR, EOG_IMAGE_ERROR_VFS,
gnome_vfs_result_to_string (result));
return FALSE;
}
buffer = g_new0 (guchar, READ_BUFFER_SIZE);
+ loader = gdk_pixbuf_loader_new_with_mime_type (mime_type, NULL);
+ g_free (mime_type);
+ if (loader == NULL)
+ loader = gdk_pixbuf_loader_new ();
failed = FALSE;
bytes_read_total = 0;
if (read_image_data) {
- loader = gdk_pixbuf_loader_new ();
g_signal_connect_object (G_OBJECT (loader), "size-prepared", (GCallback) load_size_prepared, img, 0);
}

View File

@ -15,10 +15,10 @@
Summary: Eye of GNOME image viewer Summary: Eye of GNOME image viewer
Name: eog Name: eog
Version: 2.18.0.1 Version: 2.18.0.1
Release: 1%{?dist} Release: 2%{?dist}
URL: http://www.gnome.org URL: http://www.gnome.org
Source: http://ftp.gnome.org/pub/gnome/sources/eog/2.17/%{name}-%{version}.tar.bz2 Source: http://ftp.gnome.org/pub/gnome/sources/eog/2.17/%{name}-%{version}.tar.bz2
Patch0: eog-2.17.4-svgz.patch Patch0: eog-2.18.0.1-svgz.patch
License: GPL License: GPL
Group: User Interface/Desktops Group: User Interface/Desktops
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -124,6 +124,9 @@ scrollkeeper-update -q
%{_sysconfdir}/gconf/schemas/*.schemas %{_sysconfdir}/gconf/schemas/*.schemas
%changelog %changelog
* Sun Apr 1 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0.1-2
- Fix a problem with the svgz patch
* Tue Mar 13 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0.1-1 * Tue Mar 13 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0.1-1
- Update to 2.18.0.1 - Update to 2.18.0.1