]> git.lyx.org Git - lyx.git/blobdiff - src/Graph.cpp
Account for old versions of Pygments
[lyx.git] / src / Graph.cpp
index d7ea066dc36e6daa7bc76fa5a2de54d9b8cfe51c..0573cd2162bdcba8bbf80083305ef9e818da98aa 100644 (file)
@@ -63,7 +63,7 @@ Graph::EdgePath const
        while (!Q.empty()) {
                int const current = Q.front();
                Q.pop();
-               if (current != target || formats.get(target).name() != "lyx")
+               if (current != target || theFormats().get(target).name() != "lyx")
                        result.push_back(current);
 
                vector<Arrow *>::iterator it = vertices_[current].in_arrows.begin();
@@ -83,7 +83,7 @@ Graph::EdgePath const
 
 Graph::EdgePath const
        Graph::getReachable(int from, bool only_viewable,
-               bool clear_visited)
+               bool clear_visited, set<int> excludes)
 {
        EdgePath result;
        queue<int> Q;
@@ -93,12 +93,12 @@ Graph::EdgePath const
        while (!Q.empty()) {
                int const current = Q.front();
                Q.pop();
-               Format const & format = formats.get(current);
+               Format const & format = theFormats().get(current);
                if (!only_viewable || !format.viewer().empty())
                        result.push_back(current);
                else if (format.isChildFormat()) {
                        Format const * const parent =
-                               formats.getFormat(format.parentFormat());
+                               theFormats().getFormat(format.parentFormat());
                        if (parent && !parent->viewer().empty())
                                result.push_back(current);
                }
@@ -111,7 +111,8 @@ Graph::EdgePath const
                        int const cv = (*cit)->to;
                        if (!vertices_[cv].visited) {
                                vertices_[cv].visited = true;
-                               Q.push(cv);
+                               if (excludes.find(cv) == excludes.end())
+                                       Q.push(cv);
                        }
                }
        }