summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game.cpp13
-rw-r--r--src/gui/updatewindow.cpp15
2 files changed, 22 insertions, 6 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 9a669661..df355e66 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -417,6 +417,19 @@ void Game::logic()
// Handle network stuff
mNetwork->flush();
mNetwork->dispatchMessages();
+
+ if (!mNetwork->isConnected())
+ {
+ if (!exitConfirm)
+ {
+ exitConfirm = new
+ ConfirmDialog("Network Error",
+ "There was a network error, the program will now quit");
+ exitConfirm->addActionListener(&exitListener);
+ }
+
+ exitConfirm->requestMoveToTop();
+ }
}
}
diff --git a/src/gui/updatewindow.cpp b/src/gui/updatewindow.cpp
index 73dbd604..f115238d 100644
--- a/src/gui/updatewindow.cpp
+++ b/src/gui/updatewindow.cpp
@@ -307,17 +307,20 @@ int UpdaterWindow::downloadThread(void *ptr)
switch (res)
{
case CURLE_COULDNT_CONNECT:
- // give more debug info on that error
- std::cerr << "curl error " << res << ": "
- << uw->mCurlError << " " << url.c_str()
- << std::endl;
- break;
-
default:
std::cerr << "curl error " << res << ": "
<< uw->mCurlError << " host: " << url.c_str()
<< std::endl;
+ break;
+ }
+
+ if (!uw->mStoreInMemory)
+ {
+ fclose(outfile);
+ ::remove(outFilename.c_str());
}
+ attempts++;
+ continue;
}
curl_easy_cleanup(curl);