projects
/
umurmur.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0e7e1e2
)
Fix local mute/unmute not showing up in other users UI. Fix false authenticated info...
author
fatbob313
<martin@fatbob.nu>
Tue, 2 Nov 2010 20:59:12 +0000
(20:59 +0000)
committer
fatbob313
<martin@fatbob.nu>
Tue, 2 Nov 2010 20:59:12 +0000
(20:59 +0000)
src/messagehandler.c
patch
|
blob
|
history
diff --git
a/src/messagehandler.c
b/src/messagehandler.c
index ba76ed68520befedf1c9e0088055a80e2938b5c4..d20ccba1504cb08f598ced4eadd4299767cf1904 100644
(file)
--- a/
src/messagehandler.c
+++ b/
src/messagehandler.c
@@
-221,8
+221,6
@@
void Mh_handle_message(client_t *client, message_t *msg)
sendmsg = Msg_create(UserState);
sendmsg->payload.userState->has_session = true;
sendmsg->payload.userState->session = client->sessionId;
sendmsg = Msg_create(UserState);
sendmsg->payload.userState->has_session = true;
sendmsg->payload.userState->session = client->sessionId;
- sendmsg->payload.userState->has_user_id = true;
- sendmsg->payload.userState->user_id = client->sessionId;
sendmsg->payload.userState->name = strdup(client->username);
sendmsg->payload.userState->has_channel_id = true;
sendmsg->payload.userState->channel_id = ((channel_t *)client->channel)->id;
sendmsg->payload.userState->name = strdup(client->username);
sendmsg->payload.userState->has_channel_id = true;
sendmsg->payload.userState->channel_id = ((channel_t *)client->channel)->id;
@@
-329,11
+327,22
@@
void Mh_handle_message(client_t *client, message_t *msg)
sendPermissionDenied(client, "Not supported by uMurmur");
break;
}
sendPermissionDenied(client, "Not supported by uMurmur");
break;
}
+
+ msg->payload.userState->has_session = true;
+ msg->payload.userState->session = client->sessionId;
+ msg->payload.userState->has_actor = true;
+ msg->payload.userState->actor = client->sessionId;
+
if (msg->payload.userState->has_self_deaf) {
client->deaf = msg->payload.userState->self_deaf;
}
if (msg->payload.userState->has_self_mute) {
if (msg->payload.userState->has_self_deaf) {
client->deaf = msg->payload.userState->self_deaf;
}
if (msg->payload.userState->has_self_mute) {
- client->mute = msg->payload.userState->self_mute;
+ client->mute = msg->payload.userState->self_mute;
+ if (!client->mute) {
+ msg->payload.userState->has_self_deaf = true;
+ msg->payload.userState->self_deaf = false;
+ client->deaf = false;
+ }
}
if (msg->payload.userState->has_channel_id) {
int leave_id;
}
if (msg->payload.userState->has_channel_id) {
int leave_id;
@@
-358,8
+367,7
@@
void Mh_handle_message(client_t *client, message_t *msg)
/* Re-use message */
Msg_inc_ref(msg);
/* Re-use message */
Msg_inc_ref(msg);
- msg->payload.userState->has_actor = true;
- msg->payload.userState->actor = client->sessionId;
+
Client_send_message_except(NULL, msg);
/* Need to send remove channel message _after_ UserState message */
Client_send_message_except(NULL, msg);
/* Need to send remove channel message _after_ UserState message */