diff src/server.c @ 10052:eaec201b2688

[gaim-migrate @ 11013] More rockin status stuff from Dave West! Things are beginning to shape up quite well. Dave, again, sorry it took me a week to get to this. Girl waits for no man. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 19 Sep 2004 21:19:55 +0000
parents 32467b63f55a
children 60db14d54914
line wrap: on
line diff
--- a/src/server.c	Sun Sep 19 21:14:28 2004 +0000
+++ b/src/server.c	Sun Sep 19 21:19:55 2004 +0000
@@ -941,12 +941,9 @@
 		 *    is set
 		 */
 		auto_reply_pref = gaim_prefs_get_string("/core/away/auto_reply");
-		status = gaim_presence_get_active_status(presence);
-		away_msg = gaim_value_get_string(
-			gaim_status_get_attr_value(status, "message"));
-		
+
 		if (!(gc->flags & GAIM_CONNECTION_AUTO_RESP) ||
-				away_msg == NULL || *away_msg == '\0' ||
+				gaim_presence_is_available(presence) ||
 				!strcmp(auto_reply_pref, "never") ||
 				(!gaim_presence_is_idle(presence) &&
 				!strcmp(auto_reply_pref, "awayidle"))) {
@@ -973,6 +970,13 @@
 		}
 		lar->sent = t;
 
+		status = gaim_presence_get_active_status(presence);
+		if (status == NULL)
+			return;
+
+		away_msg = gaim_value_get_string(
+			gaim_status_get_attr_value(status, "message"));
+
 		/* apply default fonts and colors */
 		tmpmsg = stylize(away_msg, MSG_LEN);