diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-02-20 09:23:15 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-02-20 09:23:15 +0000 |
commit | 922ba8638a15e482de5dc766de6ad711a1ed43f9 (patch) | |
tree | 436c1fc1299de6645eb1d6a919591a4b7b38c1e6 /libnautilus-private/nautilus-icon-info.c | |
parent | 040e8ee6a37d651c5cb8c7478b250775233a9759 (diff) | |
download | nautilus-922ba8638a15e482de5dc766de6ad711a1ed43f9.tar.gz |
Don't scale icons if not needed (#515903) Patch from Christian Neumair
2008-02-20 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-icon-info.c:
(nautilus_icon_info_get_pixbuf_nodefault_at_size):
(nautilus_icon_info_get_pixbuf_at_size):
Don't scale icons if not needed (#515903)
Patch from Christian Neumair
svn path=/trunk/; revision=13779
Diffstat (limited to 'libnautilus-private/nautilus-icon-info.c')
-rw-r--r-- | libnautilus-private/nautilus-icon-info.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-icon-info.c b/libnautilus-private/nautilus-icon-info.c index eb8e9e674..872a1c3e3 100644 --- a/libnautilus-private/nautilus-icon-info.c +++ b/libnautilus-private/nautilus-icon-info.c @@ -487,6 +487,10 @@ nautilus_icon_info_get_pixbuf_nodefault_at_size (NautilusIconInfo *icon, w = gdk_pixbuf_get_width (pixbuf); h = gdk_pixbuf_get_height (pixbuf); s = MAX (w, h); + if (s == forced_size) { + return pixbuf; + } + scale = (double)forced_size / s; scaled_pixbuf = gdk_pixbuf_scale_simple (pixbuf, w * scale, h * scale, @@ -509,6 +513,10 @@ nautilus_icon_info_get_pixbuf_at_size (NautilusIconInfo *icon, w = gdk_pixbuf_get_width (pixbuf); h = gdk_pixbuf_get_height (pixbuf); s = MAX (w, h); + if (s == forced_size) { + return pixbuf; + } + scale = (double)forced_size / s; scaled_pixbuf = gdk_pixbuf_scale_simple (pixbuf, w * scale, h * scale, |