From 3b9ce4e55a02c2f4f0457a0aec3af737d8c089ba Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Wed, 12 Jan 2005 20:35:01 +0000 Subject: [PATCH] Fix bug 82601: Enhance the ICDIMemoryBlock interface. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 4 ++++ .../cdt/debug/internal/core/model/CMemoryBlockExtension.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index a01ebcb8727..2975abcf285 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2005-01-12 Mikhail Khodjaiants + Fix bug 82601: Enhance the ICDIMemoryBlock interface. + * CMemoryBlockExtension.java + 2005-01-10 Mikhail Khodjaiants PR 82601 changes to the memory block interface * cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIMemoryBlock.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java index 2b3c6e09567..b0edbc42945 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java @@ -136,7 +136,10 @@ public class CMemoryBlockExtension extends CDebugElement implements IMemoryBlock } fBytes = new MemoryByte[bytes.length]; for ( int i = 0; i < bytes.length; ++i ) { - byte flags = MemoryByte.VALID | MemoryByte.KNOWN; + byte cdiFlags = getCDIBlock().getFlags( i ); + byte flags = MemoryByte.KNOWN; + flags |= ( (cdiFlags & ICDIMemoryBlock.VALID) != 0 ) ? MemoryByte.VALID : MemoryByte.READONLY; // ???? + flags |= ( (cdiFlags & ICDIMemoryBlock.READ_ONLY) != 0 ) ? MemoryByte.READONLY : 0; if ( hasChanged( getRealBlockAddress().add( BigInteger.valueOf( i ) ) ) ) flags |= MemoryByte.CHANGED; fBytes[i] = new MemoryByte( bytes[i], flags );