mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-08 06:32:35 +02:00
Fix entity data ID sometimes being reset
This commit is contained in:
parent
fc8e7a0841
commit
ff5be2d690
2 changed files with 11 additions and 5 deletions
|
@ -1802,7 +1802,7 @@ void DomainServer::processOctreeDataRequestMessage(QSharedPointer<ReceivedMessag
|
|||
qCDebug(domain_server) << "ES has sufficient octree data, not sending data";
|
||||
reply->writePrimitive(false);
|
||||
} else {
|
||||
qCDebug(domain_server) << "Sending newer octree data to ES";
|
||||
qCDebug(domain_server) << "Sending newer octree data to ES: ID(" << data.id << ") DataVersion(" << data.version << ")";
|
||||
QFile file(entityFilePath);
|
||||
if (file.open(QIODevice::ReadOnly)) {
|
||||
reply->writePrimitive(true);
|
||||
|
@ -3312,6 +3312,9 @@ void DomainServer::handleOctreeFileReplacementFromURLRequest(QSharedPointer<Rece
|
|||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||
QNetworkRequest request(modelsURL);
|
||||
QNetworkReply* reply = networkAccessManager.get(request);
|
||||
|
||||
qDebug() << "Downloading JSON from: " << modelsURL;
|
||||
|
||||
connect(reply, &QNetworkReply::finished, [this, reply, modelsURL]() {
|
||||
QNetworkReply::NetworkError networkError = reply->error();
|
||||
if (networkError == QNetworkReply::NoError) {
|
||||
|
|
|
@ -171,15 +171,13 @@ bool OctreePersistThread::process() {
|
|||
quint64 loadStarted = usecTimestampNow();
|
||||
qCDebug(octree) << "loading Octrees from file: " << _filename << "...";
|
||||
|
||||
if (_replacementData.isNull()) {
|
||||
sendLatestEntityDataToDS();
|
||||
} else {
|
||||
if (!_replacementData.isNull()) {
|
||||
replaceData(_replacementData);
|
||||
_replacementData.clear();
|
||||
}
|
||||
|
||||
OctreeUtils::RawOctreeData data;
|
||||
if (OctreeUtils::readOctreeDataInfoFromFile(_filename, &data)) {
|
||||
qDebug() << "Setting entity version info to: " << data.id << data.version;
|
||||
_tree->setEntityVersionInfo(data.id, data.version);
|
||||
}
|
||||
|
||||
|
@ -244,6 +242,11 @@ bool OctreePersistThread::process() {
|
|||
// want an uninitialized value for this, so we set it to the current time (startup of the server)
|
||||
time(&_lastPersistTime);
|
||||
|
||||
if (_replacementData.isNull()) {
|
||||
sendLatestEntityDataToDS();
|
||||
}
|
||||
_replacementData.clear();
|
||||
|
||||
emit loadCompleted();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue