Browse Source

Stack Overflow in EGit History View

This is caused by a recursion in PlotWalk.getTags().
As a hotfix, the sort was simply removed. The sort
must be re-implemented so that parseAny() is not called
again (currently, this happens in the PlotRefComparator).

Change-Id: I060d26fda8a75ac803acaf89cfb7d3b4317328f3
Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
stable-0.9
Mathias Kinzler 14 years ago
parent
commit
51c6f513b0
  1. 5
      org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java

5
org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java

@ -45,7 +45,6 @@
package org.eclipse.jgit.revplot; package org.eclipse.jgit.revplot;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Comparator; import java.util.Comparator;
import java.util.Map; import java.util.Map;
@ -108,7 +107,9 @@ public class PlotWalk extends RevWalk {
tags = null; tags = null;
else { else {
tags = list.toArray(new Ref[list.size()]); tags = list.toArray(new Ref[list.size()]);
Arrays.sort(tags, new PlotRefComparator()); // TODO hotfix, this results in a loop and consequently stack overflow
// when opening the history view in EGit
// Arrays.sort(tags, new PlotRefComparator());
} }
return tags; return tags;
} }

Loading…
Cancel
Save