diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-09 09:25:25 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-09 09:25:25 +0100 |
commit | 9595d2b9420afc1044c0d5ee93311b8c4ee6dec2 (patch) | |
tree | a131eb10697c13226207c1d56c947a99a2da9f1d /ipc.c | |
parent | f545372483cef6a2414bc5bf21260579151a627e (diff) |
Also sync umodes.
Diffstat (limited to 'ipc.c')
-rw-r--r-- | ipc.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -321,12 +321,18 @@ static void ipc_child_cmd_takeover( irc_t *irc, char **cmd ) { GSList *l; + /* TODO: Move this all into irc_switch_fd() or so and + irc_sync() */ b_event_remove( irc->r_watch_source_id ); closesocket( irc->fd ); irc->fd = ipc_child_recv_fd; irc->r_watch_source_id = b_input_add( irc->fd, B_EV_IO_READ, bitlbee_io_current_client_read, irc ); ipc_child_recv_fd = -1; + irc_write( irc, ":%s!%s@%s MODE %s :%s", irc->user->nick, + irc->user->user, irc->user->host, irc->user->nick, + irc->umode ); + for( l = irc->channels; l; l = l->next ) { irc_channel_t *ic = l->data; @@ -375,6 +381,10 @@ static void ipc_child_cmd_takeover_yes( void *data ) for( l = irc->channels; l; l = l->next ) irc_channel_del_user( l->data, irc->user, IRC_CDU_KICK, "Switching to old session" ); + + irc_write( irc, ":%s!%s@%s MODE %s :-%s", irc->user->nick, + irc->user->user, irc->user->host, irc->user->nick, + irc->umode ); } static void ipc_child_cmd_takeover_no( void *data ) |