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 );