I've found the problem with not being able to join a lan game.  It's a simple 
race condition: the client automatically connects to the first game, but 
doesn't wait for the list of games to arrive.  It happly reads the first item 
of an empty list.

I've attached a two-line fix (as both a bundle and a patch, whatever is 
preferred.)

But there's another problem: the game reports a desync immediately.  Strangely 
enough, the world dumps are identical.  For now I just disabled the desync 
check and played four or five games without a problem.

(I would put all of this on savanna, but I can't get it to load on my 
cellphone internet connection.)

MWM

Attachment: lanfix-bundle
Description: Binary data

diff -r 8cfb4b72712a src/LANFindScreen.cpp
--- a/src/LANFindScreen.cpp	Tue Dec 25 20:17:47 2007 +0100
+++ b/src/LANFindScreen.cpp	Wed Jan 02 23:28:10 2008 -0300
@@ -107,6 +107,10 @@ void LANFindScreen::onAction(Widget *sou
 				
 			boost::shared_ptr<MultiplayerGame> game(new MultiplayerGame(client));
 			client->setMultiplayerGame(game);
+
+			while (client->getGameList().size() == 0)
+				client->update();
+
 			game->joinGame((*client->getGameList().begin()).getGameID());
 
 			boost::shared_ptr<NetTextMessageHandler> netMessage(new NetTextMessageHandler(client));
_______________________________________________
glob2-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/glob2-devel

Reply via email to