1
0
mirror of https://github.com/irssi/irssi.git synced 2024-08-04 03:34:18 -04:00

last commit was only partial :)

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2340 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-01-22 21:04:39 +00:00 committed by cras
parent 92eaf0dc9a
commit 4c4f7ec042
2 changed files with 7 additions and 6 deletions

View File

@ -347,6 +347,7 @@ void server_disconnect(SERVER_REC *server)
servers = g_slist_remove(servers, server);
server->disconnected = TRUE;
signal_emit("server disconnected", 1, server);
/* close all channels */
@ -370,7 +371,6 @@ void server_disconnect(SERVER_REC *server)
server->readtag = -1;
}
server->disconnected = TRUE;
server_unref(server);
}
@ -381,17 +381,17 @@ void server_ref(SERVER_REC *server)
server->refcount++;
}
void server_unref(SERVER_REC *server)
int server_unref(SERVER_REC *server)
{
g_return_if_fail(IS_SERVER(server));
g_return_val_if_fail(IS_SERVER(server), FALSE);
if (--server->refcount > 0)
return;
return TRUE;
if (g_slist_find(servers, server) != NULL) {
g_warning("Non-referenced server wasn't disconnected");
server_disconnect(server);
return;
return TRUE;
}
MODULE_DATA_DEINIT(server);
@ -403,6 +403,7 @@ void server_unref(SERVER_REC *server)
g_free(server->nick);
g_free(server->tag);
g_free(server);
return FALSE;
}
SERVER_REC *server_find_tag(const char *tag)

View File

@ -40,7 +40,7 @@ void servers_deinit(void);
void server_disconnect(SERVER_REC *server);
void server_ref(SERVER_REC *server);
void server_unref(SERVER_REC *server);
int server_unref(SERVER_REC *server);
SERVER_REC *server_find_tag(const char *tag);
SERVER_REC *server_find_chatnet(const char *chatnet);