diff --git a/search/Bfs.cc b/search/Bfs.cc index 11e0c394..60df80fa 100644 --- a/search/Bfs.cc +++ b/search/Bfs.cc @@ -183,13 +183,14 @@ BfsIterator::visitParallel(Level to_level, while (levelLessOrEqual(first_level_, last_level_) && levelLessOrEqual(first_level_, to_level)) { VertexSeq &level_vertices = queue_[first_level_]; + Level level = first_level_; incrLevel(first_level_); if (!level_vertices.empty()) { size_t vertex_count = level_vertices.size(); if (vertex_count < thread_count) { for (Vertex *vertex : level_vertices) { if (vertex) { - checkLevel(vertex, first_level_); + checkLevel(vertex, level); vertex->setBfsInQueue(bfs_index_, false); visitor->visit(vertex); } @@ -206,7 +207,7 @@ BfsIterator::visitParallel(Level to_level, for (size_t i = from; i < to; i++) { Vertex *vertex = level_vertices[i]; if (vertex) { - checkLevel(vertex, first_level_); + checkLevel(vertex, level); vertex->setBfsInQueue(bfs_index, false); visitors[k]->visit(vertex); }