mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-08-31 06:35:14 +00:00
Possibly fix wrong requests order.
This commit is contained in:
@@ -1020,12 +1020,25 @@ void Instance::Private::sendRequest(
|
||||
const auto signedDcId = toMainDc ? -realShiftedDcId : realShiftedDcId;
|
||||
registerRequest(requestId, signedDcId);
|
||||
|
||||
if (afterRequestId) {
|
||||
request->after = getRequest(afterRequestId);
|
||||
}
|
||||
request->lastSentTime = crl::now();
|
||||
request->needsLayer = needsLayer;
|
||||
|
||||
if (afterRequestId) {
|
||||
request->after = getRequest(afterRequestId);
|
||||
|
||||
if (request->after) {
|
||||
// Check if this after request is waiting in _dependentRequests.
|
||||
// This happens if it was after some other request and failed
|
||||
// to wait for it, but that other request is still processed.
|
||||
QMutexLocker locker(&_dependentRequestsLock);
|
||||
const auto i = _dependentRequests.find(afterRequestId);
|
||||
if (i != end(_dependentRequests)) {
|
||||
_dependentRequests.emplace(requestId, afterRequestId);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
session->sendPrepared(request, msCanWait);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user