summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/common/hexchat.c7
-rw-r--r--src/common/inbound.c5
2 files changed, 5 insertions, 7 deletions
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;
 	}
 }