mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-08 11:02:24 +02:00
Set resource total size to content size when using a qrc:// resource
When a Resource is requested from qrc://, the Resource::handleDownloadProgress event is never called, and therefore _bytesTotal remains at zero. This confuses ResourceCache later, which has a sanity check that doesn't pass when resources are retrieved, yet no data accumulates. Fixes #1065
This commit is contained in:
parent
14292a042b
commit
b102b3477a
1 changed files with 8 additions and 2 deletions
|
@ -794,8 +794,6 @@ void Resource::handleReplyFinished() {
|
|||
{ "size_mb", _bytesTotal / 1000000.0 }
|
||||
});
|
||||
|
||||
setSize(_bytesTotal);
|
||||
|
||||
// Make sure we keep the Resource alive here
|
||||
auto self = _self.lock();
|
||||
ResourceCache::requestCompleted(_self);
|
||||
|
@ -809,6 +807,14 @@ void Resource::handleReplyFinished() {
|
|||
}
|
||||
|
||||
auto data = _request->getData();
|
||||
if (_request->getUrl().scheme() == "qrc") {
|
||||
// For resources under qrc://, there's no actual download being done, so
|
||||
// handleDownloadProgress never gets called. We get the full length here
|
||||
// at the end.
|
||||
_bytesTotal = data.length();
|
||||
}
|
||||
|
||||
setSize(_bytesTotal);
|
||||
emit loaded(data);
|
||||
downloadFinished(data);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue