aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/nogaim.c')
-rw-r--r--protocols/nogaim.c11
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 );
}