Author: simonetripodi
Date: Tue Jul 12 09:17:55 2011
New Revision: 1145503

URL: http://svn.apache.org/viewvc?rev=1145503&view=rev
Log:
avoid NPEs if minimumNode doesn't have a child

Modified:
    
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java

Modified: 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java?rev=1145503&r1=1145502&r2=1145503&view=diff
==============================================================================
--- 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
 (original)
+++ 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
 Tue Jul 12 09:17:55 2011
@@ -268,7 +268,8 @@ public final class FibonacciHeap<E>
         FibonacciHeapNode<E> z = minimumNode;
 
         // for each child x of z
-        for ( FibonacciHeapNode<E> x = z.getChild().getRight(); x != 
z.getChild(); x = x.getRight() )
+        FibonacciHeapNode<E> x = z.getChild();
+        for ( int degree = z.getDegree(); degree > 0; degree-- )
         {
             // add x to the root list of H
             z.getLeft().setRight( x );
@@ -278,6 +279,8 @@ public final class FibonacciHeap<E>
 
             // p[x] <- NIL
             x.setParent( null );
+
+            x = x.getRight();
         }
 
         // remove z from the root list of H


Reply via email to