Mute/deaf fixes + simplify channel password logic.
[umurmur.git] / src / client.c
index 30979e8a11b76aa69d7e8d9af3dd37a06cce5430..7322aee56ba26ff4bc3c95d81a076fedc8afeb44 100644 (file)
@@ -775,7 +775,7 @@ out:
 
 static inline void Client_send_voice(client_t *src, client_t *dst, uint8_t *data, int len, int poslen)
 {
-       if (IS_AUTH(dst) && dst != src && (!dst->deaf || !dst->self_deaf)) {
+       if (IS_AUTH(dst) && dst != src && !dst->deaf && !dst->self_deaf) {
                if (poslen > 0 && /* Has positional data */
                        src->context != NULL && dst->context != NULL && /* ...both source and destination has context */
                        strcmp(src->context, dst->context) == 0) /* ...and the contexts match */
@@ -800,7 +800,7 @@ int Client_voiceMsg(client_t *client, uint8_t *data, int len)
        channel_t *ch = (channel_t *)client->channel;
        struct dlist *itr;
        
-       if (!client->authenticated || client->mute)
+       if (!client->authenticated || client->mute || client->self_mute)
                goto out;
        
        packetsize = 20 + 8 + 4 + len;