diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-10-21 23:40:06 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-10-21 23:40:06 +0200 |
commit | 66f783fa6365fefe7ba449e6409b4dc1359b155b (patch) | |
tree | 50f2e6c2f7f92a24cc6612515a155a152320ee26 /protocols | |
parent | 4b0d8055fe3fc08cdaa7696f1c4af1e0e471a67e (diff) |
Complete fix (or mostly a work-around) for nested calls to signoff(). (Can
happen when the IRC connection to the user is broken, a write() to it
eventually fails, which triggers an irc_kill() which, in turn, will call
signoff() for all accounts.)
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/nogaim.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c index 36461b32..3e9d7c07 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -283,12 +283,12 @@ void signoff( struct gaim_connection *gc ) 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 ); |