# # old_revision [163464964e1905284392d160e48a9bd8bc174f52] # # patch "pidgin/gtkblist.c" # from [51d4ecd45a0eb750ef09161369199396b2b1edde] # to [9d6918a1f6d369937043d928607d21b393c77e97] # ============================================================ --- pidgin/gtkblist.c 51d4ecd45a0eb750ef09161369199396b2b1edde +++ pidgin/gtkblist.c 9d6918a1f6d369937043d928607d21b393c77e97 @@ -2506,12 +2506,14 @@ static GdkPixbuf *pidgin_blist_get_buddy scale_height = scale_size * (double)scale_height / (double)scale_width; scale_width = scale_size; } - + ret = gdk_pixbuf_scale_simple(buf, scale_width, scale_height, GDK_INTERP_BILINEAR); + if (pidgin_gdk_pixbuf_is_opaque(ret)) + pidgin_gdk_pixbuf_make_round(ret); + g_object_unref(buf); + buf = ret; ret = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, scale_size, scale_size); gdk_pixbuf_fill(ret, 0x00000000); - gdk_pixbuf_scale(buf, ret, (scale_size-scale_width)/2, (scale_size-scale_height)/2, scale_width, scale_height, (scale_size-scale_width)/2, (scale_size-scale_height)/2, (double)scale_width/(double)orig_width, (double)scale_height/(double)orig_height, GDK_INTERP_BILINEAR); - if (pidgin_gdk_pixbuf_is_opaque(ret)) - pidgin_gdk_pixbuf_make_round(ret); + gdk_pixbuf_copy_area(buf, 0, 0, scale_width, scale_height, ret, (scale_size-scale_width)/2, (scale_size-scale_height)/2); } else { ret = gdk_pixbuf_scale_simple(buf,scale_width,scale_height, GDK_INTERP_BILINEAR); }