aboutsummaryrefslogtreecommitdiffstats
path: root/irc_im.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-10-02 19:45:26 -0700
committerWilmer van der Gaast <wilmer@gaast.net>2010-10-02 19:45:26 -0700
commit8e9e2b7d9e54744cee32b3724391bf0ad04e8aff (patch)
tree6cafdc57bb8143306daf8ef8288d09754f39b451 /irc_im.c
parent88de0c96136313e553113f69cfc6ae544a5f5954 (diff)
parent2af3e232ff468b288dd4e0dbdab1a17312d801c5 (diff)
Merging mainline, which includes a huge msnp13 merge.
Not 100% sure about the OpenSSL merge, should double check that but I'm currently offline.
Diffstat (limited to 'irc_im.c')
-rw-r--r--irc_im.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/irc_im.c b/irc_im.c
index f2262100..73ad697a 100644
--- a/irc_im.c
+++ b/irc_im.c
@@ -589,7 +589,7 @@ static gboolean bee_irc_chat_remove_user( bee_t *bee, struct groupchat *c, bee_u
irc_t *irc = bee->ui_data;
irc_channel_t *ic = c->ui_data;
- if( ic == NULL )
+ if( ic == NULL || bu == NULL )
return FALSE;
/* TODO: Possible bug here: If a module removes $user here instead of just
@@ -752,7 +752,7 @@ static gboolean bee_irc_channel_chat_privmsg( irc_channel_t *ic, const char *msg
if( ( s = strchr( nick, ':' ) ) || ( s = strchr( nick, ',' ) ) )
{
*s = '\0';
- if( ( iu = irc_user_by_name( ic->irc, nick ) ) &&
+ if( ( iu = irc_user_by_name( ic->irc, nick ) ) && iu->bu &&
iu->bu->nick && irc_channel_has_user( ic, iu ) )
{
trans = g_strconcat( iu->bu->nick, msg + ( s - nick ), NULL );
@@ -857,9 +857,9 @@ static gboolean bee_irc_channel_chat_topic( irc_channel_t *ic, const char *new )
char *topic = g_strdup( new );
c->ic->acc->prpl->chat_topic( c, topic );
g_free( topic );
- return TRUE;
}
+ /* Whatever happened, the IM module should ack the topic change. */
return FALSE;
}