# HG changeset patch # User Marcus Lundblad # Date 1252351352 0 # Node ID a6cfb7bf8c881934d7ad2f5c09b3c4aec9aaa7cb # Parent 60ab4bdea3c394f86443bcdb5dfde25c95497e18 Only scale down larger smileys (more than 22 px width or height) in the smiley manager. This avoids getting smaller smileys being blurry. Refs #7140 diff -r 60ab4bdea3c3 -r a6cfb7bf8c88 pidgin/gtksmiley.c --- a/pidgin/gtksmiley.c Sun Sep 06 01:46:42 2009 +0000 +++ b/pidgin/gtksmiley.c Mon Sep 07 19:22:32 2009 +0000 @@ -601,10 +601,17 @@ GdkPixbuf *smiley_image = pidgin_pixbuf_from_imgstore(img); purple_imgstore_unref(img); - if (smiley_image != NULL) - sized_smiley = gdk_pixbuf_scale_simple(smiley_image, + if (smiley_image != NULL) { + if (gdk_pixbuf_get_width(smiley_image) > 22 || + gdk_pixbuf_get_height(smiley_image) > 22) { + sized_smiley = gdk_pixbuf_scale_simple(smiley_image, 22, 22, GDK_INTERP_HYPER); - g_object_unref(G_OBJECT(smiley_image)); + g_object_unref(G_OBJECT(smiley_image)); + } else { + /* don't scale up smaller smileys, avoid blurryness */ + sized_smiley = smiley_image; + } + } }