aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--account.c3
-rw-r--r--irc.c8
-rw-r--r--protocols/nogaim.c6
-rw-r--r--protocols/nogaim.h1
4 files changed, 7 insertions, 11 deletions
diff --git a/account.c b/account.c
index ed6b98c0..e165b951 100644
--- a/account.c
+++ b/account.c
@@ -140,7 +140,8 @@ void account_on( irc_t *irc, account_t *a )
void account_off( irc_t *irc, account_t *a )
{
- account_offline( a->gc );
+ a->gc->wants_to_die = TRUE;
+ signoff( a->gc );
a->gc = NULL;
if( a->reconnect )
{
diff --git a/irc.c b/irc.c
index 60188c3b..44fc9ad3 100644
--- a/irc.c
+++ b/irc.c
@@ -232,10 +232,12 @@ void irc_free(irc_t * irc)
irc_connection_list = g_slist_remove( irc_connection_list, irc );
for (account = irc->accounts; account; account = account->next) {
- if (account->gc)
- account_offline(account->gc);
- else if (account->reconnect)
+ if (account->gc) {
+ account->gc->wants_to_die = TRUE;
+ signoff(account->gc);
+ } else if (account->reconnect) {
cancel_auto_reconnect(account);
+ }
}
g_free(irc->sendbuffer);
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index 72b4389c..73d1da92 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -388,12 +388,6 @@ void cancel_auto_reconnect( account_t *a )
a->reconnect = 0;
}
-void account_offline( struct gaim_connection *gc )
-{
- gc->wants_to_die = TRUE;
- signoff( gc );
-}
-
void signoff( struct gaim_connection *gc )
{
irc_t *irc = gc->irc;
diff --git a/protocols/nogaim.h b/protocols/nogaim.h
index d3be643e..4251fbaa 100644
--- a/protocols/nogaim.h
+++ b/protocols/nogaim.h
@@ -211,7 +211,6 @@ G_MODULE_EXPORT void hide_login_progress( struct gaim_connection *gc, char *msg
G_MODULE_EXPORT void hide_login_progress_error( struct gaim_connection *gc, char *msg );
G_MODULE_EXPORT void serv_got_crap( struct gaim_connection *gc, char *format, ... );
G_MODULE_EXPORT void account_online( struct gaim_connection *gc );
-G_MODULE_EXPORT void account_offline( struct gaim_connection *gc );
G_MODULE_EXPORT void signoff( struct gaim_connection *gc );
/* dialogs.c */