X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fmessagehandler.c;h=089aec0a56ae6b890ee26ba51cd5b0b68b625613;hb=c7df54e693e34de4037a8cc8b7a28828302c7fa5;hp=8b4b94acc09dfec62c533cde2ec4560a33e74112;hpb=e48e158c64064e8db1e889c4015915a32949b30b;p=umurmur.git diff --git a/src/messagehandler.c b/src/messagehandler.c index 8b4b94a..089aec0 100644 --- a/src/messagehandler.c +++ b/src/messagehandler.c @@ -315,13 +315,22 @@ void Mh_handle_message(client_t *client, message_t *msg) if (msg->payload.userState->has_channel_id) { Chan_playerJoin_id(msg->payload.userState->channel_id, client); } + if (msg->payload.userState->plugin_context != NULL) { + if (client->context) + free(client->context); + client->context = strdup(msg->payload.userState->plugin_context); + if (client->context == NULL) + Log_fatal("Out of memory"); + + break; /* Don't inform other users about this state */ + } + /* 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); break; - case TextMessage: msg->payload.textMessage->has_actor = true; msg->payload.textMessage->actor = client->sessionId;