无法用热情图关闭编辑器部分

时间:2013-06-28 16:42:18

标签: eclipse graph editor zest

我在eclipse中构建了一个编辑器部件来可视化Zest图。我的问题:如果我试图关闭一个包含大图(~6000个节点,9000个边)的编辑器部分,eclipse无法处理关闭操作并挂起。

任何解决问题或调试问题的想法?

我认为问题在于处理图形对象,但我不知道要解决它。

提前致谢!

2 个答案:

答案 0 :(得分:0)

要调试它,我会尝试查看Eclipse日志文件(workspace/.metadata/.log)以获取有关发生的事情的线索。这可能是一些记忆问题。如果它听起来像是日志文件,您可以尝试更改eclipse.ini配置,尤其是-XX:MaxPermSize-Xms-Xmx值(请参阅{{3 }})。

如果问题在合理的内存值下仍然存在,那么如果您可以提交错误就会很棒:http://wiki.eclipse.org/Eclipse.ini

答案 1 :(得分:0)

问题是方法“org.eclipse.gef4.zest.layouts.algorithms.TreeLayoutObserver.TreeNode.isAncestorO f(TreeNode descendant)”。我为我修复了它,我将报告一个错误(在评论中显示bug id)。如果有人需要快速修复错误:

旧版本:

    public boolean isAncestorOf(TreeNode descendant) {
        while (descendant.depth > this.depth) {
            descendant = descendant.parent;
        }
        return descendant == this;
    }

新版本:

    public boolean isAncestorOf(TreeNode descendant) {
        while (descendant.depth > this.depth) {
            if (descendant == descendant.parent) {
                return false;
            } else {
                descendant = descendant.parent;
            }
        }
        return descendant == this;
    }