mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-03 15:41:41 +00:00
CLOUD: Fix ConnectionManager a little
I didn't like how FINISHED Requests were waiting until the next interateRequests() call to be removed when we could easily remove those after they changed their state in their handle().
This commit is contained in:
parent
bcb2a5bd8d
commit
b32c2be78d
@ -109,18 +109,18 @@ void ConnectionManager::interateRequests() {
|
||||
//call handle() of all running requests (so they can do their work)
|
||||
debug("handling %d request(s)", _requests.size());
|
||||
for (Common::Array<RequestWithCallback>::iterator i = _requests.begin(); i != _requests.end();) {
|
||||
Request *request = i->request;
|
||||
Request *request = i->request;
|
||||
if (request) {
|
||||
if (request->state() == PROCESSING) request->handle();
|
||||
else if (request->state() == RETRY) request->handleRetry();
|
||||
}
|
||||
|
||||
if (!request || request->state() == FINISHED) {
|
||||
delete (i->request);
|
||||
if (i->onDeleteCallback) (*i->onDeleteCallback)(i->request); //that's not a mistake (we're passing an address and that method knows there is no object anymore)
|
||||
_requests.erase(i);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (request) {
|
||||
if (request->state() == PROCESSING) request->handle();
|
||||
else if (request->state() == RETRY) request->handleRetry();
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user