diff options
| -rw-r--r-- | protocols/nogaim.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/protocols/nogaim.c b/protocols/nogaim.c index a5eda2e0..0339feea 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -610,6 +610,7 @@ static char *imc_away_state_find(GList *gcm, char *away, char **message);  int imc_away_send_update(struct im_connection *ic)  {  	char *away, *msg = NULL; +	GList *m = NULL;  	if (ic->acc->prpl->away_states == NULL ||  	    ic->acc->prpl->set_away == NULL) { @@ -619,7 +620,7 @@ int imc_away_send_update(struct im_connection *ic)  	away = set_getstr(&ic->acc->set, "away") ?  	       : set_getstr(&ic->bee->set, "away");  	if (away && *away) { -		GList *m = ic->acc->prpl->away_states(ic); +		m = ic->acc->prpl->away_states(ic);  		msg = ic->acc->flags & ACC_FLAG_AWAY_MESSAGE ? away : NULL;  		away = imc_away_state_find(m, away, &msg) ? :  		       (imc_away_state_find(m, "away", &msg) ? : m->data); @@ -631,6 +632,10 @@ int imc_away_send_update(struct im_connection *ic)  	ic->acc->prpl->set_away(ic, away, msg); +	while (m) { +		m = g_list_delete_link(m, m); +	} +  	return 1;  } | 
