diff -r 41f7d4545566 -r 69b9346d3e48 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Mon Aug 18 06:25:38 2008 +0000 +++ b/pidgin/gtkconv.c Mon Aug 18 06:31:08 2008 +0000 @@ -4656,6 +4656,9 @@ /* Setup the label telling how many people are in the room. */ gtkchat->count = gtk_label_new(_("0 people in room")); +#if GTK_CHECK_VERSION(2,6,0) + gtk_label_set_ellipsize(GTK_LABEL(gtkchat->count), PANGO_ELLIPSIZE_END); +#endif gtk_box_pack_start(GTK_BOX(lbox), gtkchat->count, FALSE, FALSE, 0); gtk_widget_show(gtkchat->count); @@ -6670,8 +6673,11 @@ update_typing_icon(gtkconv); gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title); - if (pidgin_conv_window_is_active_conversation(conv)) - gtk_window_set_title(GTK_WINDOW(win->window), title); + if (pidgin_conv_window_is_active_conversation(conv)) { + const char* current_title = gtk_window_get_title(GTK_WINDOW(win->window)); + if (current_title == NULL || strcmp(current_title, title) != 0) + gtk_window_set_title(GTK_WINDOW(win->window), title); + } g_free(title); } @@ -7430,7 +7436,9 @@ if (gtkconv) { conv = gtkconv->active_conv; - pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON | PIDGIN_CONV_COLORIZE_TITLE); + pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON + | PIDGIN_CONV_COLORIZE_TITLE + | PIDGIN_CONV_BUDDY_ICON); if ((purple_status_is_online(old) ^ purple_status_is_online(newstatus)) != 0) pidgin_conv_update_fields(conv, PIDGIN_CONV_MENU); }