From 4d47126ae4a993e9b420f988feef5a3fdf7f2eba Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Thu, 24 Mar 2016 12:17:55 -0700 Subject: [PATCH] Don't mark failed models loaded, emit failure --- .../model-networking/src/model-networking/ModelCache.cpp | 9 ++++++--- .../model-networking/src/model-networking/ModelCache.h | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libraries/model-networking/src/model-networking/ModelCache.cpp b/libraries/model-networking/src/model-networking/ModelCache.cpp index bb7efb8f75..ce255f0b4e 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.cpp +++ b/libraries/model-networking/src/model-networking/ModelCache.cpp @@ -290,12 +290,15 @@ NetworkGeometry::NetworkGeometry(const GeometryResource::Pointer& networkGeometr connect(_resource.data(), &Resource::finished, this, &NetworkGeometry::resourceFinished); connect(_resource.data(), &Resource::onRefresh, this, &NetworkGeometry::resourceRefreshed); if (_resource->isLoaded()) { - resourceFinished(); + resourceFinished(true); } } -void NetworkGeometry::resourceFinished() { - _instance = std::make_shared(*_resource); +void NetworkGeometry::resourceFinished(bool success) { + if (success) { + _instance = std::make_shared(*_resource); + } + emit finished(success); } void NetworkGeometry::resourceRefreshed() { diff --git a/libraries/model-networking/src/model-networking/ModelCache.h b/libraries/model-networking/src/model-networking/ModelCache.h index a2fcc9d741..7da3e2894f 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.h +++ b/libraries/model-networking/src/model-networking/ModelCache.h @@ -117,8 +117,12 @@ public: /// Returns the geometry, if it is loaded (must be checked!) const Geometry::Pointer& getGeometry() { return _instance; } +signals: + /// Emitted when the NetworkGeometry loads (or fails to) + void finished(bool success); + private slots: - void resourceFinished(); + void resourceFinished(bool success); void resourceRefreshed(); private: