diff --git a/src/common/hexchat.c b/src/common/hexchat.c index a8e98c33..b6c12ce2 100644 --- a/src/common/hexchat.c +++ b/src/common/hexchat.c @@ -336,14 +336,15 @@ doover: list = list->next; } - /* done them all, reset done_away_check to FALSE and start over unless we have away-notify*/ - if (full && !sess->server->have_awaynotify) + /* done them all, reset done_away_check to FALSE and start over unless we have away-notify */ + if (full) { list = sess_list; while (list) { sess = list->data; - sess->done_away_check = FALSE; + if (!sess->server->have_awaynotify) + sess->done_away_check = FALSE; list = list->next; } loop++; diff --git a/src/common/inbound.c b/src/common/inbound.c index f807b783..d44fbef6 100644 --- a/src/common/inbound.c +++ b/src/common/inbound.c @@ -988,10 +988,7 @@ inbound_away_notify (server *serv, char *nick, char *reason) { sess = list->data; if (sess->server == serv) - if (!reason) - userlist_set_away (sess, nick, FALSE); - else - userlist_set_away (sess, nick, TRUE); + userlist_set_away (sess, nick, reason ? TRUE : FALSE); list = list->next; } }