diff --git a/ChangeLog b/ChangeLog index 3efdeca74..6eff1ae6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-02-08 Anders Carlsson + + * src/theme.c (scale_and_alpha_pixbuf): If we're only + scaling horizontally or vertically, use GDK_INTERP_NEAREST. + 2002-02-08 Havoc Pennington * autogen.sh: unbreak diff --git a/src/theme.c b/src/theme.c index c7448fa0a..ba9c64284 100644 --- a/src/theme.c +++ b/src/theme.c @@ -2555,9 +2555,19 @@ scale_and_alpha_pixbuf (GdkPixbuf *src, } else { - pixbuf = gdk_pixbuf_scale_simple (pixbuf, - width, height, - GDK_INTERP_BILINEAR); + if (gdk_pixbuf_get_width (pixbuf) == width || + gdk_pixbuf_get_height (pixbuf) == height) + { + pixbuf = gdk_pixbuf_scale_simple (pixbuf, + width, height, + GDK_INTERP_NEAREST); + } + else + { + pixbuf = gdk_pixbuf_scale_simple (pixbuf, + width, height, + GDK_INTERP_BILINEAR); + } } if (pixbuf)