presence: send..._with_capability...(): don't send if the client does not have the capab but isn't on a channel

This commit is contained in:
William Pitcock 2009-06-02 02:48:22 -05:00
parent 9def763407
commit 2914055be3

View file

@ -817,7 +817,7 @@ sendto_common_channels_local_with_capability(struct Client *user, int capability
/* this can happen when the user isnt in any channels, but we still /* this can happen when the user isnt in any channels, but we still
* need to send them the data, ie a nick change * need to send them the data, ie a nick change
*/ */
if(MyConnect(user) && (user->serial != current_serial)) if(MyConnect(user) && (user->serial != current_serial) && IsCapable(user, capability))
send_linebuf(user, &linebuf); send_linebuf(user, &linebuf);
rb_linebuf_donebuf(&linebuf); rb_linebuf_donebuf(&linebuf);
@ -936,7 +936,7 @@ sendto_common_channels_local_with_capability_butone(struct Client *user, int cap
/* this can happen when the user isnt in any channels, but we still /* this can happen when the user isnt in any channels, but we still
* need to send them the data, ie a nick change * need to send them the data, ie a nick change
*/ */
if(MyConnect(user) && (user->serial != current_serial)) if(MyConnect(user) && (user->serial != current_serial) && IsCapable(user, capability))
send_linebuf(user, &linebuf); send_linebuf(user, &linebuf);
rb_linebuf_donebuf(&linebuf); rb_linebuf_donebuf(&linebuf);