diff options
Diffstat (limited to 'protocols/nogaim.c')
| -rw-r--r-- | protocols/nogaim.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/protocols/nogaim.c b/protocols/nogaim.c index 0270d5a0..b627a23a 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -279,11 +279,16 @@ void signoff( struct gaim_connection *gc )  	user_t *t, *u = irc->users;  	account_t *a; +	/* Nested calls might happen sometimes, this is probably the best +	   place to catch them. */ +	if( gc->flags & OPT_LOGGING_OUT ) +		return; +	else +		gc->flags |= OPT_LOGGING_OUT; +	  	serv_got_crap( gc, "Signing off.." );  	b_event_remove( gc->keepalive ); -	gc->flags |= OPT_LOGGING_OUT; -	  	gc->keepalive = 0;  	gc->acc->prpl->close( gc );  	b_event_remove( gc->inpa ); @@ -1013,8 +1018,6 @@ int bim_set_away( struct gaim_connection *gc, char *away )  			gc->acc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away );  	} -	g_list_free( ms ); -	  	return( 1 );  } | 
