@@ -98,11 +98,11 @@ void ServerSelection::loadedFromFile()
9898 m_private_server = getWidget<GUIEngine::CheckBoxWidget>(" private_server" );
9999 assert (m_private_server != NULL );
100100 m_private_server->setState (false );
101- m_game_started = getWidget<GUIEngine::CheckBoxWidget>(" game_started " );
102- assert (m_game_started != NULL );
101+ m_ipv6 = getWidget<GUIEngine::CheckBoxWidget>(" ipv6 " );
102+ assert (m_ipv6 != NULL );
103103 m_searcher = getWidget<GUIEngine::TextBoxWidget>(" searcher" );
104104 assert (m_searcher != NULL );
105- m_game_started ->setState (false );
105+ m_ipv6 ->setState (false );
106106 m_icon_bank = new irr::gui::STKModifiedSpriteBank (GUIEngine::getGUIEnv ());
107107} // loadedFromFile
108108
@@ -133,6 +133,12 @@ void ServerSelection::beforeAddingWidget()
133133void ServerSelection::init ()
134134{
135135 Screen::init ();
136+
137+ #ifndef ENABLE_IPV6
138+ m_ipv6->setState (false );
139+ m_ipv6->setActive (false );
140+ #endif
141+
136142 m_current_column = 5 /* distance*/ ;
137143 m_searcher->clearListeners ();
138144 m_searcher->addListener (this );
@@ -296,7 +302,7 @@ void ServerSelection::eventCallback(GUIEngine::Widget* widget,
296302 {
297303 refresh (true );
298304 }
299- else if (name == " private_server" || name == " game_started " )
305+ else if (name == " private_server" || name == " ipv6 " )
300306 {
301307 copyFromServersManager ();
302308 }
@@ -310,6 +316,10 @@ void ServerSelection::eventCallback(GUIEngine::Widget* widget,
310316 {
311317 return ;
312318 }
319+ #ifdef ENABLE_IPV6
320+ if (!m_servers[selected_index]->getIPV6Address ().empty ())
321+ m_servers[selected_index]->setIPV6Connection (m_ipv6->getState ());
322+ #endif
313323 new ServerInfoDialog (m_servers[selected_index]);
314324 } // click on server
315325
@@ -388,7 +398,7 @@ void ServerSelection::copyFromServersManager()
388398 m_servers.erase (std::remove_if (m_servers.begin (), m_servers.end (),
389399 [this ](const std::shared_ptr<Server>& a)->bool
390400 {
391- if (m_game_started ->getState () && a->isGameStarted ())
401+ if (m_ipv6 ->getState () && a->getIPV6Address (). empty ())
392402 return true ;
393403 return false ;
394404 }), m_servers.end ());
0 commit comments