diff libgaim/savedstatuses.c @ 14361:0c3957362c69

[gaim-migrate @ 17067] If the status box is "away" when we go idle-away, then do nothing committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 27 Aug 2006 23:04:55 +0000
parents 60b1bc8dbf37
children 587268c9c6d7
line wrap: on
line diff
--- a/libgaim/savedstatuses.c	Sun Aug 27 22:51:40 2006 +0000
+++ b/libgaim/savedstatuses.c	Sun Aug 27 23:04:55 2006 +0000
@@ -812,7 +812,12 @@
 
 	old = gaim_savedstatus_get_current();
 	gaim_prefs_set_bool("/core/savedstatus/isidleaway", idleaway);
-	saved_status = gaim_savedstatus_get_current();
+	saved_status = idleaway ? gaim_savedstatus_get_idleaway()
+			: gaim_savedstatus_get_default();
+
+	if (idleaway && (gaim_savedstatus_get_type(old) != GAIM_STATUS_AVAILABLE))
+		/* Our global status is already "away," so don't change anything */
+		return;
 
 	accounts = gaim_accounts_get_all_active();
 	for (node = accounts; node != NULL; node = node->next)