Fix crashes/issues with non-broadcast network chat.

pull/18/head
Jonathan G Rennison 7 years ago
parent 9c74da46b1
commit e43f0dad21

@ -272,6 +272,7 @@ void NetworkDrawChatMessage()
static void SendChat(const char *buf, DestType type, int dest)
{
if (StrEmpty(buf)) return;
assert(type >= DESTTYPE_BROADCAST && type <= DESTTYPE_CLIENT);
if (!_network_server) {
MyClient::SendChat((NetworkAction)(NETWORK_ACTION_CHAT + type), type, dest, buf, NetworkTextMessageData());
} else {
@ -303,7 +304,8 @@ struct NetworkChatWindow : public Window {
static const StringID chat_captions[] = {
STR_NETWORK_CHAT_ALL_CAPTION,
STR_NETWORK_CHAT_COMPANY_CAPTION,
STR_NETWORK_CHAT_CLIENT_CAPTION
STR_NETWORK_CHAT_CLIENT_CAPTION,
STR_NULL,
};
assert((uint)this->dtype < lengthof(chat_captions));
this->dest_string = chat_captions[this->dtype];

@ -81,9 +81,9 @@ enum NetworkPasswordType {
/** Destination of our chat messages. */
enum DestType {
DESTTYPE_BROADCAST, ///< Send message/notice to all clients (All)
DESTTYPE_BROADCAST_SS, ///< Send message/notice to all clients (All), but tag the broadcast to self as a self-send
DESTTYPE_TEAM, ///< Send message/notice to everyone playing the same company (Team)
DESTTYPE_CLIENT, ///< Send message/notice to only a certain client (Private)
DESTTYPE_BROADCAST_SS, ///< Send message/notice to all clients (All), but tag the broadcast to self as a self-send
};
/** Actions that can be used for NetworkTextMessage */

Loading…
Cancel
Save