From df109bd246dea1fc188c1daf611d1b98e78587fd Mon Sep 17 00:00:00 2001 From: elexis Date: Thu, 2 Jan 2020 22:14:14 +0000 Subject: [PATCH] Fix XmppClient upon registration or entering wrong password following 2cccd9825d/D2412. Differential Revision: https://code.wildfiregames.com/D2482 Tested on: clang 9.0.1, Jenkins/VS2015, Jenkins/gcc6 This was SVN commit r23323. --- .../mods/public/gui/prelobby/common/feedback/feedback.js | 5 +++++ source/lobby/XmppClient.cpp | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js b/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js index e49ce1436a..6028cff9c6 100644 --- a/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js +++ b/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js @@ -22,8 +22,13 @@ function onTick() return; for (let message of messages) + { if (message.type == "system" && message.level) g_LobbyMessages[message.level](message); + + if (!Engine.HasXmppClient()) + break; + } } function setFeedback(feedbackText) diff --git a/source/lobby/XmppClient.cpp b/source/lobby/XmppClient.cpp index 91de26a728..0dd5e72e13 100644 --- a/source/lobby/XmppClient.cpp +++ b/source/lobby/XmppClient.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -279,6 +279,7 @@ void XmppClient::onDisconnect(gloox::ConnectionError error) m_Profile.clear(); m_HistoricGuiMessages.clear(); m_isConnected = false; + m_initialLoadComplete = false; CreateGUIMessage( "system", @@ -699,7 +700,7 @@ bool XmppClient::GuiPollHasPlayerListUpdate() JS::Value XmppClient::GuiPollNewMessages(const ScriptInterface& scriptInterface) { - if (!m_initialLoadComplete || m_GuiMessageQueue.empty()) + if ((m_isConnected && !m_initialLoadComplete) || m_GuiMessageQueue.empty()) return JS::UndefinedValue(); JSContext* cx = scriptInterface.GetContext();