diff --git a/components/terrain/compositemaprenderer.cpp b/components/terrain/compositemaprenderer.cpp index 5319820c83..34655a03d6 100644 --- a/components/terrain/compositemaprenderer.cpp +++ b/components/terrain/compositemaprenderer.cpp @@ -49,7 +49,8 @@ namespace Terrain double timeLeft = availableTime; - while (!mCompileSet.empty() && timeLeft > 0) + const auto deadline = std::chrono::steady_clock::now() + std::chrono::duration(availableTime); + while (!mCompileSet.empty() && std::chrono::steady_clock::now() < deadline) { osg::ref_ptr node = *mCompileSet.begin(); mCompileSet.erase(node);