1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 17:55:39 +02:00

Bugzilla Bug 187018

This commit is contained in:
Ted Williams 2007-05-17 17:40:47 +00:00
parent 91d9f301a3
commit 346c18fe10
3 changed files with 14 additions and 4 deletions

View file

@ -561,6 +561,9 @@ public abstract class AbstractPane extends Canvas
{ {
try try
{ {
if(this.fSelectionStartAddress == null)
return;
BigInteger address = getViewportAddress(x / getCellWidth(), y BigInteger address = getViewportAddress(x / getCellWidth(), y
/ getCellHeight()); / getCellHeight());

View file

@ -41,6 +41,9 @@ public class AddressPane extends AbstractPane
{ {
try try
{ {
if(this.fSelectionStartAddress == null)
return;
BigInteger address = getViewportAddress(x / getCellWidth(), y BigInteger address = getViewportAddress(x / getCellWidth(), y
/ getCellHeight()); / getCellHeight());

View file

@ -36,6 +36,7 @@ import org.eclipse.debug.internal.ui.DebugPluginImages;
import org.eclipse.debug.internal.ui.DebugUIMessages; import org.eclipse.debug.internal.ui.DebugUIMessages;
import org.eclipse.debug.internal.ui.DebugUIPlugin; import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil;
import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressAction; import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressAction;
import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressComposite; import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressComposite;
import org.eclipse.debug.ui.memory.AbstractMemoryRendering; import org.eclipse.debug.ui.memory.AbstractMemoryRendering;
@ -1754,7 +1755,8 @@ class Rendering extends Composite implements IDebugEventSetListener
BigInteger dataEnd = address.add(BigInteger.valueOf(bytesRequested)); BigInteger dataEnd = address.add(BigInteger.valueOf(bytesRequested));
if(fCache.start.compareTo(address) <= 0 if(fCache.start.compareTo(address) <= 0
&& fCache.end.compareTo(dataEnd) >= 0) && fCache.end.compareTo(dataEnd) >= 0
&& fCache.bytes.length > 0)
contains = true; contains = true;
} }
@ -1821,8 +1823,6 @@ class Rendering extends Composite implements IDebugEventSetListener
Iterator iterator = keySet.iterator(); Iterator iterator = keySet.iterator();
while(iterator.hasNext()) while(iterator.hasNext())
{
try
{ {
BigInteger address = (BigInteger) iterator.next(); BigInteger address = (BigInteger) iterator.next();
MemoryByte[] bytes = (MemoryByte[]) fEditBuffer MemoryByte[] bytes = (MemoryByte[]) fEditBuffer
@ -1832,10 +1832,14 @@ class Rendering extends Composite implements IDebugEventSetListener
for(int i = 0; i < bytes.length; i++) for(int i = 0; i < bytes.length; i++)
byteValue[i] = bytes[i].getValue(); byteValue[i] = bytes[i].getValue();
try
{
getMemoryBlock().setValue(address.subtract(getMemoryBlock().getBigBaseAddress()), byteValue); getMemoryBlock().setValue(address.subtract(getMemoryBlock().getBigBaseAddress()), byteValue);
} }
catch(Exception e) catch(Exception e)
{ {
MemoryViewUtil.openError(TraditionalRenderingMessages.getString("TraditionalRendering.FAILURE_WRITE_MEMORY"), "", e);
logError( logError(
TraditionalRenderingMessages TraditionalRenderingMessages
.getString("TraditionalRendering.FAILURE_WRITE_MEMORY"), e); //$NON-NLS-1$ .getString("TraditionalRendering.FAILURE_WRITE_MEMORY"), e); //$NON-NLS-1$
@ -2181,7 +2185,7 @@ class Rendering extends Composite implements IDebugEventSetListener
{ {
if(!this.isDisposed()) if(!this.isDisposed())
{ {
if(this.isVisible()) if(this.isVisible() && fViewportCache != null)
{ {
fViewportCache.refresh(); fViewportCache.refresh();
} }