--- a/src/protocols/oscar/oscar.c Tue Nov 16 23:29:53 2004 +0000 +++ b/src/protocols/oscar/oscar.c Wed Nov 17 01:32:06 2004 +0000 @@ -5560,11 +5560,6 @@ gaim_debug_info("oscar", "Setting status to %s\n", status_id); - if (primitive == GAIM_STATUS_HIDDEN) - aim_setextstatus(od->sess, AIM_ICQ_STATE_INVISIBLE); - else - aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL); - if (od->rights.maxawaymsglen == 0) gaim_notify_warning(gc, NULL, _("Unable to set AIM away message."), _("You have probably requested to set your " @@ -5574,6 +5569,8 @@ "fully connected.")); if (primitive == GAIM_STATUS_AVAILABLE) { + aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL); + aim_locate_setprofile(od->sess, NULL, NULL, 0, NULL, "", 0); #if 0 /* Set an available message */ @@ -5581,6 +5578,8 @@ #endif } else if (primitive == GAIM_STATUS_AWAY) { + aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL); + text_html = gaim_status_get_attr_string(status, "message"); if (text_html == NULL) { @@ -5616,6 +5615,9 @@ g_free(errstr); } + } else if (primitive == GAIM_STATUS_HIDDEN) { + aim_setextstatus(od->sess, AIM_ICQ_STATE_INVISIBLE); + } else { gaim_debug_info("oscar", "Don't know what to do for this status\n");