netpanzer-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netPanzer-CVS] netpanzer/src/NetPanzer/Views/MainMenu/Multi IR...


From: Hankin Chick
Subject: [netPanzer-CVS] netpanzer/src/NetPanzer/Views/MainMenu/Multi IR...
Date: Fri, 14 Nov 2003 06:27:08 -0500

CVSROOT:        /cvsroot/netpanzer
Module name:    netpanzer
Branch:         
Changes by:     Hankin Chick <address@hidden>   03/11/14 06:27:08

Modified files:
        src/NetPanzer/Views/MainMenu/Multi: IRCLobbyView.cpp 

Log message:
        Fix lobby not working after trying to connect to a bad host

Patches:
Index: netpanzer/src/NetPanzer/Views/MainMenu/Multi/IRCLobbyView.cpp
diff -u netpanzer/src/NetPanzer/Views/MainMenu/Multi/IRCLobbyView.cpp:1.6 
netpanzer/src/NetPanzer/Views/MainMenu/Multi/IRCLobbyView.cpp:1.7
--- netpanzer/src/NetPanzer/Views/MainMenu/Multi/IRCLobbyView.cpp:1.6   Thu Nov 
13 08:12:20 2003
+++ netpanzer/src/NetPanzer/Views/MainMenu/Multi/IRCLobbyView.cpp       Fri Nov 
14 06:27:08 2003
@@ -67,22 +67,18 @@
 {
     assert(this!=0);
     clientArea.fill(Color::black);
+    startIRC();  // start irc if needed
     
     int y=0;
     int disp_server_upto=0;
     int server_list_end_y=lobby_view_height-(Surface::getFontHeight()*6);
     int chat_list_end_y=server_list_end_y+(Surface::getFontHeight()*4);      
 
-    if(lobby_connection == 0) {
-        clientArea.bltString(iXY(0,0), "Not connected to lobby:", 
Color::white);
-        clientArea.bltString(iXY(0, Surface::getFontHeight()),
-                error_message.c_str(), Color::white);
-        return;
-    }
-
 // XXX todo: scrollbar for large list of servers
-    if(!lobby_connection->isConnected()) {
+    if(lobby_connection == 0 || !lobby_connection->isConnected()) {
         clientArea.bltString(iXY(0,0),"Not connected to lobby", Color::white);
+        View::doDraw(viewArea, clientArea);
+        return;
     }
     else {
         SDL_mutexP(lobby_connection->game_servers_mutex);
@@ -164,6 +160,10 @@
 //---------------------------------------------------------------------------
 void IRCLobbyView::startIRC()
 {
+    if(lobby_connection) {
+        // already started
+        return; 
+    }
     if((const std::string&) gameconfig->lobbyserver == "")
         return;
 
@@ -179,7 +179,9 @@
 
 void IRCLobbyView::stopIRC()
 {
-    delete lobby_connection;
+    if(lobby_connection) {
+        delete lobby_connection;
+    }
     lobby_connection=0;
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]