summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/network_chat_gui.cpp12
-rw-r--r--src/window.cpp4
2 files changed, 13 insertions, 3 deletions
diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp
index 57c4ac6c3..ce6064e8c 100644
--- a/src/network/network_chat_gui.cpp
+++ b/src/network/network_chat_gui.cpp
@@ -112,16 +112,22 @@ void CDECL NetworkAddChatMessage(TextColour colour, uint8 duration, const char *
_chatmessage_dirty = true;
}
+/** Initialize all font-dependent chat box sizes. */
+void NetworkReInitChatBoxSize()
+{
+ _chatmsg_box.y = 3 * FONT_HEIGHT_NORMAL;
+ _chatmsg_box.height = MAX_CHAT_MESSAGES * (FONT_HEIGHT_NORMAL + NETWORK_CHAT_LINE_SPACING) + 2;
+ _chatmessage_backup = ReallocT(_chatmessage_backup, _chatmsg_box.width * _chatmsg_box.height * BlitterFactoryBase::GetCurrentBlitter()->GetBytesPerPixel());
+}
+
void NetworkInitChatMessage()
{
MAX_CHAT_MESSAGES = _settings_client.gui.network_chat_box_height;
_chatmsg_list = ReallocT(_chatmsg_list, _settings_client.gui.network_chat_box_height);
_chatmsg_box.x = 10;
- _chatmsg_box.y = 3 * FONT_HEIGHT_NORMAL;
_chatmsg_box.width = _settings_client.gui.network_chat_box_width;
- _chatmsg_box.height = _settings_client.gui.network_chat_box_height * (FONT_HEIGHT_NORMAL + NETWORK_CHAT_LINE_SPACING) + 2;
- _chatmessage_backup = ReallocT(_chatmessage_backup, _chatmsg_box.width * _chatmsg_box.height * BlitterFactoryBase::GetCurrentBlitter()->GetBytesPerPixel());
+ NetworkReInitChatBoxSize();
_chatmessage_visible = false;
for (uint i = 0; i < MAX_CHAT_MESSAGES; i++) {
diff --git a/src/window.cpp b/src/window.cpp
index 091528c11..bc4f31ed1 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -2619,6 +2619,10 @@ void ReInitAllWindows()
FOR_ALL_WINDOWS_FROM_BACK(w) {
w->ReInit();
}
+#ifdef ENABLE_NETWORK
+ void NetworkReInitChatBoxSize();
+ NetworkReInitChatBoxSize();
+#endif
/* Make sure essential parts of all windows are visible */
RelocateAllWindows(_cur_resolution.width, _cur_resolution.height);