diff options
author | Anton Leherbauer | 2013-11-05 14:00:51 +0000 |
---|---|---|
committer | Anton Leherbauer | 2013-11-05 14:03:29 +0000 |
commit | 3e528ebafe873722a83c3bd379afcd2cab2e997f (patch) | |
tree | d69cdfefc031f477088056db1652c1e021f36131 | |
parent | 61c76973a3e728144d373f840e99bda0f16ceeb4 (diff) | |
download | org.eclipse.cdt-3e528ebafe873722a83c3bd379afcd2cab2e997f.tar.gz org.eclipse.cdt-3e528ebafe873722a83c3bd379afcd2cab2e997f.tar.xz org.eclipse.cdt-3e528ebafe873722a83c3bd379afcd2cab2e997f.zip |
Bug 420604 - Disassembly view tends to scroll upwards on refresh
-rw-r--r-- | dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java index 104da9d347c..6290d34ba5c 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java @@ -278,6 +278,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem private volatile int fUpdateCount; private BigInteger fPCAddress; private BigInteger fGotoAddressPending= PC_UNKNOWN; + private boolean fGotoAddressOnTop; private BigInteger fFocusAddress= PC_UNKNOWN; private int fBufferZone; private String fDebugSessionId; @@ -1414,10 +1415,13 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem AddressRangePosition pos = getPositionOfAddress(address); if (pos != null) { if (pos.fValid) { + boolean onTop = false; if (fGotoAddressPending.equals(address)) { fGotoAddressPending = PC_UNKNOWN; + onTop = fGotoAddressOnTop; + fGotoAddressOnTop = false; } - gotoPosition(pos, false); + gotoPosition(pos, onTop); } else { int lines = fBufferZone+3; BigInteger endAddress = pos.fAddressOffset.add(pos.fAddressLength).min( @@ -2034,6 +2038,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem fTargetFrame = targetFrame; fFrameAddress = frameAddress; fPCAddress = pcAddress; + fGotoAddressOnTop = true; gotoAddress(topAddress); } else { refreshView((int)(refreshViewScheduled - now)); |