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>
This commit is contained in:
Mathias Kinzler 2010-07-28 11:46:05 +02:00
parent 396fe6da45
commit 51c6f513b0
1 changed files with 3 additions and 2 deletions

View File

@ -45,7 +45,6 @@
package org.eclipse.jgit.revplot;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.Map;
@ -108,7 +107,9 @@ protected Ref[] getTags(final AnyObjectId commitId) {
tags = null;
else {
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;
}