From 57bc7c4a2da81a0ed5608ba6ad687dcf3286bf06 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sat, 26 Oct 2002 23:40:34 +0000 Subject: [PATCH] update() new Method. --- .../cdt/debug/mi/core/cdi/MemoryManager.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java index c355245982a..e66d09782e2 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MemoryManager.java @@ -44,13 +44,7 @@ public class MemoryManager extends SessionObject implements ICDIMemoryManager { for (int i = 0; i < blocks.length; i++) { if (! blocks[i].isFrozen()) { try { - MemoryBlock block = cloneBlock(blocks[i]); - Long[] array = compareBlocks(blocks[i], block); - if (array.length > 0) { - eventList.add(new MIMemoryChangedEvent(array)); - } - // Update the block MIDataReadMemoryInfo. - blocks[i].setMIDataReadMemoryInfo(block.getMIDataReadMemoryInfo()); + update(blocks[i], eventList); } catch (CDIException e) { } } @@ -59,6 +53,24 @@ public class MemoryManager extends SessionObject implements ICDIMemoryManager { mi.fireEvents(events); } + /** + * update one Block. + */ + public void update(MemoryBlock block, List aList) throws CDIException { + MemoryBlock newBlock = cloneBlock(block); + Long[] array = compareBlocks(block, newBlock); + // Update the block MIDataReadMemoryInfo. + block.setMIDataReadMemoryInfo(newBlock.getMIDataReadMemoryInfo()); + if (array.length > 0) { + if (aList != null) { + aList.add(new MIMemoryChangedEvent(array)); + } else { + MISession mi = getCSession().getMISession(); + mi.fireEvent(new MIMemoryChangedEvent(array)); + } + } + } + /** * @return the registers MemoryBlock. */