diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp index f4c5bc1041..63010f6469 100644 --- a/components/sceneutil/mwshadowtechnique.cpp +++ b/components/sceneutil/mwshadowtechnique.cpp @@ -2113,7 +2113,7 @@ struct ConvexHull } // Gather connected vertices - std::deque unprocessedConnectedVertices(extremeVertices.begin(), extremeVertices.end()); + VertexSet unprocessedConnectedVertices = extremeVertices; VertexSet connectedVertices; const auto containsVertex = [&](const auto& vert) @@ -2121,10 +2121,10 @@ struct ConvexHull return std::find(connectedVertices.begin(), connectedVertices.end(), vert) != connectedVertices.end(); }; - while (unprocessedConnectedVertices.size() > 0) + while (!unprocessedConnectedVertices.empty()) { - osg::Vec3d vertex = unprocessedConnectedVertices.front(); - unprocessedConnectedVertices.pop_front(); + osg::Vec3d vertex = unprocessedConnectedVertices.back(); + unprocessedConnectedVertices.pop_back(); connectedVertices.emplace_back(vertex); for (const Edge& edge : _edges)