mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-08 23:34:15 +00:00
(svn r24070) -Fix [FS#5098]: the 'last joined' server was not properly selected anymore (adf88)
This commit is contained in:
parent
f2f939906e
commit
1adb9a5c85
@ -62,7 +62,7 @@ static void NetworkGameListHandleDelayedInsert()
|
||||
}
|
||||
item->manually |= ins_item->manually;
|
||||
if (item->manually) NetworkRebuildHostList();
|
||||
UpdateNetworkGameWindow(false);
|
||||
UpdateNetworkGameWindow();
|
||||
}
|
||||
free(ins_item);
|
||||
}
|
||||
@ -105,7 +105,7 @@ NetworkGameList *NetworkGameListAddItem(NetworkAddress address)
|
||||
}
|
||||
DEBUG(net, 4, "[gamelist] added server to list");
|
||||
|
||||
UpdateNetworkGameWindow(false);
|
||||
UpdateNetworkGameWindow();
|
||||
|
||||
return item;
|
||||
}
|
||||
@ -132,7 +132,7 @@ void NetworkGameListRemoveItem(NetworkGameList *remove)
|
||||
|
||||
DEBUG(net, 4, "[gamelist] removed server from list");
|
||||
NetworkRebuildHostList();
|
||||
UpdateNetworkGameWindow(false);
|
||||
UpdateNetworkGameWindow();
|
||||
return;
|
||||
}
|
||||
prev_item = item;
|
||||
|
@ -72,9 +72,9 @@ void SortNetworkLanguages()
|
||||
* found on the network.
|
||||
* @param unselect unselect the currently selected item
|
||||
*/
|
||||
void UpdateNetworkGameWindow(bool unselect)
|
||||
void UpdateNetworkGameWindow()
|
||||
{
|
||||
InvalidateWindowData(WC_NETWORK_WINDOW, WN_NETWORK_WINDOW_GAME, unselect ? 1 : 0);
|
||||
InvalidateWindowData(WC_NETWORK_WINDOW, WN_NETWORK_WINDOW_GAME, 0);
|
||||
}
|
||||
|
||||
typedef GUIList<NetworkGameList*> GUIGameServerList;
|
||||
@ -438,6 +438,9 @@ protected:
|
||||
public:
|
||||
NetworkGameWindow(const WindowDesc *desc) : QueryStringBaseWindow(NETWORK_CLIENT_NAME_LENGTH)
|
||||
{
|
||||
this->list_pos = SLP_INVALID;
|
||||
this->server = NULL;
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll = this->GetScrollbar(WID_NG_SCROLLBAR);
|
||||
this->FinishInitNested(desc, WN_NETWORK_WINDOW_GAME);
|
||||
@ -447,8 +450,6 @@ public:
|
||||
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 120);
|
||||
this->SetFocusedWidget(WID_NG_CLIENT);
|
||||
|
||||
UpdateNetworkGameWindow(true);
|
||||
|
||||
this->field = WID_NG_CLIENT;
|
||||
this->last_joined = NetworkGameListAddItem(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port));
|
||||
this->server = this->last_joined;
|
||||
@ -791,10 +792,6 @@ public:
|
||||
*/
|
||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
||||
{
|
||||
if (data == 1) {
|
||||
this->server = NULL;
|
||||
this->list_pos = SLP_INVALID;
|
||||
}
|
||||
this->servers.ForceRebuild();
|
||||
this->SetDirty();
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ void NetworkTCPQueryServer(NetworkAddress address);
|
||||
void GetBindAddresses(NetworkAddressList *addresses, uint16 port);
|
||||
void NetworkAddServer(const char *b);
|
||||
void NetworkRebuildHostList();
|
||||
void UpdateNetworkGameWindow(bool unselect);
|
||||
void UpdateNetworkGameWindow();
|
||||
|
||||
bool IsNetworkCompatibleVersion(const char *version);
|
||||
|
||||
|
@ -395,7 +395,7 @@ void ClientNetworkUDPSocketHandler::Receive_SERVER_RESPONSE(Packet *p, NetworkAd
|
||||
|
||||
item->online = true;
|
||||
|
||||
UpdateNetworkGameWindow(false);
|
||||
UpdateNetworkGameWindow();
|
||||
}
|
||||
|
||||
void ClientNetworkUDPSocketHandler::Receive_MASTER_RESPONSE_LIST(Packet *p, NetworkAddress *client_addr)
|
||||
|
Loading…
Reference in New Issue
Block a user