Fix #3530
This commit is contained in:
parent
378c5c18e7
commit
610c976ce2
@ -52,8 +52,6 @@ private:
|
|||||||
void handleBadConnection();
|
void handleBadConnection();
|
||||||
void becomingServerOwner();
|
void becomingServerOwner();
|
||||||
|
|
||||||
void clearPlayers();
|
|
||||||
|
|
||||||
TransportAddress m_server_address;
|
TransportAddress m_server_address;
|
||||||
|
|
||||||
std::shared_ptr<Server> m_server;
|
std::shared_ptr<Server> m_server;
|
||||||
@ -113,7 +111,7 @@ public:
|
|||||||
bool isWaitingForGame() const { return m_waiting_for_game; }
|
bool isWaitingForGame() const { return m_waiting_for_game; }
|
||||||
bool isServerAutoLap() const { return m_server_auto_lap; }
|
bool isServerAutoLap() const { return m_server_auto_lap; }
|
||||||
virtual bool isRacing() const OVERRIDE { return m_state.load() == RACING; }
|
virtual bool isRacing() const OVERRIDE { return m_state.load() == RACING; }
|
||||||
|
void clearPlayers();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CLIENT_LOBBY_HPP
|
#endif // CLIENT_LOBBY_HPP
|
||||||
|
@ -91,8 +91,6 @@ void NetworkKartSelectionScreen::allPlayersDone()
|
|||||||
|
|
||||||
// ---- Switch to assign mode
|
// ---- Switch to assign mode
|
||||||
input_manager->getDeviceManager()->setAssignMode(ASSIGN);
|
input_manager->getDeviceManager()->setAssignMode(ASSIGN);
|
||||||
// Remove kart screen
|
|
||||||
StateManager::get()->popMenu();
|
|
||||||
TracksScreen::getInstance()->setNetworkTracks();
|
TracksScreen::getInstance()->setNetworkTracks();
|
||||||
TracksScreen::getInstance()->push();
|
TracksScreen::getInstance()->push();
|
||||||
|
|
||||||
|
@ -122,20 +122,17 @@ void TracksScreen::eventCallback(Widget* widget, const std::string& name,
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
bool TracksScreen::onEscapePressed()
|
bool TracksScreen::onEscapePressed()
|
||||||
{
|
{
|
||||||
if (m_network_tracks)
|
auto cl = LobbyProtocol::get<ClientLobby>();
|
||||||
{
|
if (cl)
|
||||||
// Remove this screen
|
cl->clearPlayers();
|
||||||
StateManager::get()->popMenu();
|
// remove the screen
|
||||||
STKHost::get()->shutdown();
|
return true;
|
||||||
}
|
|
||||||
return true; // remove the screen
|
|
||||||
} // onEscapePressed
|
} // onEscapePressed
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
void TracksScreen::tearDown()
|
void TracksScreen::tearDown()
|
||||||
{
|
{
|
||||||
m_network_tracks = false;
|
m_network_tracks = false;
|
||||||
m_vote_timeout = std::numeric_limits<uint64_t>::max();
|
|
||||||
m_selected_track = NULL;
|
m_selected_track = NULL;
|
||||||
} // tearDown
|
} // tearDown
|
||||||
|
|
||||||
@ -225,17 +222,8 @@ void TracksScreen::beforeAddingWidget()
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
void TracksScreen::init()
|
void TracksScreen::init()
|
||||||
{
|
{
|
||||||
// change the back button image (because it makes the game quit)
|
if (!m_network_tracks)
|
||||||
if (m_network_tracks)
|
m_vote_timeout = std::numeric_limits<uint64_t>::max();
|
||||||
{
|
|
||||||
IconButtonWidget* back_button = getWidget<IconButtonWidget>("back");
|
|
||||||
back_button->setImage("gui/icons/main_quit.png");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IconButtonWidget* back_button = getWidget<IconButtonWidget>("back");
|
|
||||||
back_button->setImage("gui/icons/back.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
DynamicRibbonWidget* tracks_widget = getWidget<DynamicRibbonWidget>("tracks");
|
DynamicRibbonWidget* tracks_widget = getWidget<DynamicRibbonWidget>("tracks");
|
||||||
assert(tracks_widget != NULL);
|
assert(tracks_widget != NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user