- added guards around masterserver property access so if missing we handle it more gracefully
This commit is contained in:
parent
591acdded4
commit
54f739c15d
|
@ -1898,6 +1898,9 @@ void MenuStateCustomGame::simpleTask() {
|
||||||
if(republish == true) {
|
if(republish == true) {
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
|
std::string serverInfo = "no masterserver defined.";
|
||||||
|
try {
|
||||||
|
if(Config::getInstance().getString("Masterserver","") != "") {
|
||||||
//string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + newPublishToServerInfo;
|
//string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + newPublishToServerInfo;
|
||||||
string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?";
|
string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?";
|
||||||
|
|
||||||
|
@ -1914,12 +1917,15 @@ void MenuStateCustomGame::simpleTask() {
|
||||||
//printf("the request is:\n%s\n",request.c_str());
|
//printf("the request is:\n%s\n",request.c_str());
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d] the request is:\n%s\n",__FILE__,__FUNCTION__,__LINE__,request.c_str());
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d] the request is:\n%s\n",__FILE__,__FUNCTION__,__LINE__,request.c_str());
|
||||||
|
|
||||||
std::string serverInfo = SystemFlags::getHTTP(request,handle);
|
serverInfo = SystemFlags::getHTTP(request,handle);
|
||||||
SystemFlags::cleanupHTTP(&handle);
|
SystemFlags::cleanupHTTP(&handle);
|
||||||
|
}
|
||||||
//printf("the result is:\n'%s'\n",serverInfo.c_str());
|
//printf("the result is:\n'%s'\n",serverInfo.c_str());
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d] the result is:\n'%s'\n",__FILE__,__FUNCTION__,__LINE__,serverInfo.c_str());
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d] the result is:\n'%s'\n",__FILE__,__FUNCTION__,__LINE__,serverInfo.c_str());
|
||||||
|
}
|
||||||
|
catch(const exception &ex) {
|
||||||
|
serverInfo = ex.what();
|
||||||
|
}
|
||||||
// uncomment to enable router setup check of this server
|
// uncomment to enable router setup check of this server
|
||||||
if(EndsWith(serverInfo, "OK") == false) {
|
if(EndsWith(serverInfo, "OK") == false) {
|
||||||
showMasterserverError=true;
|
showMasterserverError=true;
|
||||||
|
|
|
@ -663,6 +663,8 @@ void MenuStateMasterserver::updateServerInfo() {
|
||||||
announcementLoaded=true;
|
announcementLoaded=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Lang &lang= Lang::getInstance();
|
||||||
|
try {
|
||||||
if(Config::getInstance().getString("Masterserver","") != "") {
|
if(Config::getInstance().getString("Masterserver","") != "") {
|
||||||
std::string serverInfo = SystemFlags::getHTTP(Config::getInstance().getString("Masterserver") + "showServersForGlest.php");
|
std::string serverInfo = SystemFlags::getHTTP(Config::getInstance().getString("Masterserver") + "showServersForGlest.php");
|
||||||
|
|
||||||
|
@ -676,8 +678,6 @@ void MenuStateMasterserver::updateServerInfo() {
|
||||||
|
|
||||||
const int MIN_FIELDS_EXPECTED = 12;
|
const int MIN_FIELDS_EXPECTED = 12;
|
||||||
if(serverEntities.size() >= MIN_FIELDS_EXPECTED) {
|
if(serverEntities.size() >= MIN_FIELDS_EXPECTED) {
|
||||||
|
|
||||||
Lang &lang= Lang::getInstance();
|
|
||||||
labelTitle.setText(lang.get("AvailableServers"));
|
labelTitle.setText(lang.get("AvailableServers"));
|
||||||
|
|
||||||
if(Config::getInstance().getString("Masterserver","") == "") {
|
if(Config::getInstance().getString("Masterserver","") == "") {
|
||||||
|
@ -728,10 +728,17 @@ void MenuStateMasterserver::updateServerInfo() {
|
||||||
else {
|
else {
|
||||||
Lang &lang= Lang::getInstance();
|
Lang &lang= Lang::getInstance();
|
||||||
labelTitle.setText("*** " + lang.get("AvailableServers") + " [" + serverInfo + "]");
|
labelTitle.setText("*** " + lang.get("AvailableServers") + " [" + serverInfo + "]");
|
||||||
|
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugError,"In [%s::%s Line %d] error, no masterserver defined!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch(const exception &ex) {
|
||||||
|
labelTitle.setText("*** " + lang.get("AvailableServers") + " [" + ex.what() + "]");
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugError,"In [%s::%s Line %d] error during Internet game status update: [%s]\n",__FILE__,__FUNCTION__,__LINE__,ex.what());
|
||||||
|
}
|
||||||
|
|
||||||
safeMutexPtr.Lock();
|
safeMutexPtr.Lock();
|
||||||
if( updateFromMasterserverThread == NULL ||
|
if( updateFromMasterserverThread == NULL ||
|
||||||
|
|
|
@ -1521,6 +1521,8 @@ void ServerInterface::simpleTask() {
|
||||||
lastMasterserverHeartbeatTime = time(NULL);
|
lastMasterserverHeartbeatTime = time(NULL);
|
||||||
|
|
||||||
if(needToRepublishToMasterserver == true) {
|
if(needToRepublishToMasterserver == true) {
|
||||||
|
try {
|
||||||
|
if(Config::getInstance().getString("Masterserver","") != "") {
|
||||||
//string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + newPublishToServerInfo;
|
//string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + newPublishToServerInfo;
|
||||||
string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?";
|
string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?";
|
||||||
|
|
||||||
|
@ -1549,6 +1551,14 @@ void ServerInterface::simpleTask() {
|
||||||
if(EndsWith(serverInfo, "OK") == false) {
|
if(EndsWith(serverInfo, "OK") == false) {
|
||||||
//showMasterserverError=true;
|
//showMasterserverError=true;
|
||||||
//masterServererErrorToShow = (serverInfo != "" ? serverInfo : "No Reply");
|
//masterServererErrorToShow = (serverInfo != "" ? serverInfo : "No Reply");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugError,"In [%s::%s Line %d] error, no masterserver defined!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(const exception &ex) {
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugError,"In [%s::%s Line %d] error during game status update: [%s]\n",__FILE__,__FUNCTION__,__LINE__,ex.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user