diff -r c0a894735ae5 -r bb49da9915a6 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Thu Dec 06 01:15:59 2007 +0000 +++ b/pidgin/gtkconv.c Thu Dec 06 01:16:25 2007 +0000 @@ -7273,15 +7273,18 @@ if(strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away")==0) when_away = TRUE; - while ((l = hidden_convwin->gtkconvs) != NULL) + for (l = hidden_convwin->gtkconvs; l; ) { gtkconv = l->data; + l = l->next; conv = gtkconv->active_conv; - if(when_away && !purple_status_is_available( + if (conv->type == PURPLE_CONV_TYPE_CHAT || + gtkconv->unseen_count == 0 || + (when_away && !purple_status_is_available( purple_account_get_active_status( - purple_conversation_get_account(conv)))) + purple_conversation_get_account(conv))))) continue; pidgin_conv_window_remove_gtkconv(hidden_convwin, gtkconv);