diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/JoinButton.js b/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/JoinButton.js index 2d1d84a422..dcf0359246 100644 --- a/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/JoinButton.js +++ b/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/JoinButton.js @@ -3,8 +3,9 @@ */ class JoinButton { - constructor(dialog, gameList) + constructor(closePageCallback, dialog, gameList) { + this.closePageCallback = closePageCallback; this.gameList = gameList; this.joinButton = Engine.GetGUIObjectByName("joinButton"); @@ -50,7 +51,11 @@ class JoinButton return; Engine.StopXmppClient(); - Engine.SwitchGuiPage("page_modmod.xml", { "cancelbutton": true }); + delete Engine.GetGUIObjectByName("lobbyPage").onTick; + this.closePageCallback({ [Engine.openRequest]: { + "page": "page_modmod.xml", + "argument": { "cancelbutton": true } + } }); return; } diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/QuitButton.js b/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/QuitButton.js index 9009f96be9..21156087a3 100644 --- a/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/QuitButton.js +++ b/binaries/data/mods/public/gui/lobby/LobbyPage/Buttons/QuitButton.js @@ -36,6 +36,7 @@ class QuitButton returnToMainMenu() { Engine.StopXmppClient(); - Engine.SwitchGuiPage("page_pregame.xml"); + delete Engine.GetGUIObjectByName("lobbyPage").onTick; + this.closePageCallback({ [Engine.openRequest]: { "page": "page_pregame.xml" } }); } } diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/LobbyPage.js b/binaries/data/mods/public/gui/lobby/LobbyPage/LobbyPage.js index 3b59ea17c6..c0f0ad4485 100644 --- a/binaries/data/mods/public/gui/lobby/LobbyPage/LobbyPage.js +++ b/binaries/data/mods/public/gui/lobby/LobbyPage/LobbyPage.js @@ -18,7 +18,7 @@ class LobbyPage "buttons": { "buddyButton": buddyButton, "accountSettingsButton": accountSettingsButton, - "joinButton": new JoinButton(dialog, gameList), + "joinButton": new JoinButton(closePageCallback, dialog, gameList), "hostButton": new HostButton(closePageCallback, dialog, xmppMessages, Engine.GetGUIObjectByName("hostButton"), false), "hostSavedGameButton": new HostButton(closePageCallback, dialog, xmppMessages,