diff --git a/assignment-client/src/assets/AssetServer.cpp b/assignment-client/src/assets/AssetServer.cpp index 17aae74dfd..fea9d8329d 100644 --- a/assignment-client/src/assets/AssetServer.cpp +++ b/assignment-client/src/assets/AssetServer.cpp @@ -280,10 +280,10 @@ void AssetServer::aboutToFinish() { // abort each of our still running bake tasks, remove pending bakes that were never put on the thread pool auto it = _pendingBakes.begin(); while (it != _pendingBakes.end()) { - auto pendingRunnable = _bakingTaskPool.tryTake(it.value().get()); + auto pendingRunnable = _bakingTaskPool.tryTake(it->get()); if (pendingRunnable) { - _pendingBakes.erase(it); + it = _pendingBakes.erase(it); } else { it.value()->abort(); ++it; diff --git a/libraries/image/src/image/Image.cpp b/libraries/image/src/image/Image.cpp index 9d49efcba0..6081355eaa 100644 --- a/libraries/image/src/image/Image.cpp +++ b/libraries/image/src/image/Image.cpp @@ -460,6 +460,8 @@ void generateMips(gpu::Texture* texture, QImage& image, const std::atomic& for (int i = 0; i < count; i++) { if (!_abortProcessing.load()) { task(context, i); + } else { + break; } } }