From cd7a34ac5314d9a6b1e1ccc51153d2b5d8302ed3 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 22 Jun 2007 13:07:12 +0000 Subject: [PATCH] Fix [ 1741277 ] Changing menu structure makes adempiere hang --- base/src/org/compiere/model/MTree.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/base/src/org/compiere/model/MTree.java b/base/src/org/compiere/model/MTree.java index 486dd88ec0..90ed05a727 100644 --- a/base/src/org/compiere/model/MTree.java +++ b/base/src/org/compiere/model/MTree.java @@ -231,8 +231,10 @@ public class MTree extends MTree_Base if (parent != null && parent.getAllowsChildren()) { parent.add(node); + int sizeBeforeCheckBuffer = m_buffer.size(); checkBuffer(node); - m_buffer.remove(i); + if (sizeBeforeCheckBuffer == m_buffer.size()) + m_buffer.remove(i); i = -1; // start again with i=0 } } @@ -246,8 +248,10 @@ public class MTree extends MTree_Base { MTreeNode node = (MTreeNode)m_buffer.get(i); m_root.add(node); + int sizeBeforeCheckBuffer = m_buffer.size(); checkBuffer(node); - m_buffer.remove(i); + if (sizeBeforeCheckBuffer == m_buffer.size()) + m_buffer.remove(i); i = -1; } if (m_buffer.size() != 0)