From d3ecc2c459dd1df937fc97887581ace1036da533 Mon Sep 17 00:00:00 2001
From: "Marcus D. Hanwell" <marcus.hanwell@kitware.com>
Date: Tue, 13 Dec 2011 15:36:06 -0500
Subject: [PATCH] BUG: 12772 fixes for change in Boost graph API

This fixes bug 12772, where an API change in Boost was causing
compilation failures using Boost 1.38. Thanks to Orion Poplawski for
reporting the issue and posting the patch.

Change-Id: I491b0f1650c0be19319533306eb10597dc96fa06
---
 Infovis/vtkBoostBreadthFirstSearchTree.cxx | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/Infovis/vtkBoostBreadthFirstSearchTree.cxx b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
index c789f6b2b83..cf7cd471d04 100644
--- a/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+++ b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
@@ -47,6 +47,15 @@ using namespace boost;
 vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
 
 
+namespace {
+  vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
+    return e.Id;
+  }
+  vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
+    return e.underlying_desc.Id;
+  }
+}
+
 // Redefine the bfs visitor, the only visitor we
 // are using is the tree_edge visitor.
 template <typename IdMap>
@@ -95,7 +104,8 @@ public:
 
     // Copy the vertex and edge data from the graph to the tree.
     tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
-    tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
+    tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
+                                  unwrap_edge_id(e), tree_e.Id);
   }
 
 private:
-- 
GitLab