# HG changeset patch # User Tim Ringenbach # Date 1156307356 0 # Node ID d86ad60af057a31fcd676718de710c866c5cce8d # Parent d9aa45c105880e86574f5399394bec10084f079c [gaim-migrate @ 16994] If an emblem is really big, scale it down to something sane. Use a really big emblem (the msn prpl icon) in yahoo. committer: Tailor Script diff -r d9aa45c10588 -r d86ad60af057 gtk/gtkblist.c --- a/gtk/gtkblist.c Wed Aug 23 04:22:04 2006 +0000 +++ b/gtk/gtkblist.c Wed Aug 23 04:29:16 2006 +0000 @@ -3014,19 +3014,27 @@ g_free(filename); if(emblem) { if(i == 0 && size == GAIM_STATUS_ICON_SMALL) { + double scale_factor = 0.6; + if(gdk_pixbuf_get_width(emblem) > 20) + scale_factor = 9.0 / gdk_pixbuf_get_width(emblem); + gdk_pixbuf_composite(emblem, scale, 5, 5, 10, 10, 5, 5, - .6, .6, + scale_factor, scale_factor, GDK_INTERP_BILINEAR, 255); } else { + double scale_factor = 1.0; + if(gdk_pixbuf_get_width(emblem) > 20) + scale_factor = 15.0 / gdk_pixbuf_get_width(emblem); + gdk_pixbuf_composite(emblem, scale, emblems[i].x, emblems[i].y, 15, 15, emblems[i].x, emblems[i].y, - 1, 1, + scale_factor, scale_factor, GDK_INTERP_BILINEAR, 255); } diff -r d9aa45c10588 -r d86ad60af057 libgaim/protocols/yahoo/yahoo.c --- a/libgaim/protocols/yahoo/yahoo.c Wed Aug 23 04:22:04 2006 +0000 +++ b/libgaim/protocols/yahoo/yahoo.c Wed Aug 23 04:29:16 2006 +0000 @@ -300,7 +300,8 @@ if (strtol(pair->value, NULL, 10) == 0) { if (f) f->status = YAHOO_STATUS_OFFLINE; - gaim_prpl_got_user_status(account, name, "offline", NULL); + if (name) + gaim_prpl_got_user_status(account, name, "offline", NULL); break; } break; @@ -2786,6 +2787,8 @@ emblems[i++] = "wireless"; if (yahoo_friend_get_game(f)) emblems[i++] = "game"; + if (f->protocol == 2) + emblems[i] = "msn"; } *se = emblems[0]; *sw = emblems[1];