From 1790d63fb33b046254d88a9ff22b21e561e12b48 Mon Sep 17 00:00:00 2001 From: Ted Williams Date: Sat, 14 Mar 2009 06:33:11 +0000 Subject: [PATCH] [228127] Traditional Rendering: ViewportCache.run() should eliminate the oldest duplicate request --- .../ui/memory/traditional/Rendering.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/Rendering.java b/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/Rendering.java index 0a1d51ad722..8c5f82e88a8 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/Rendering.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/Rendering.java @@ -804,20 +804,18 @@ public class Rendering extends Composite implements IDebugEventSetListener if(fQueue.size() > 0) { Request request = (Request) fQueue.elementAt(0); - Class type = null; - if(request instanceof ArchiveDeltas) - { - archiveDeltas = true; - type = ArchiveDeltas.class; - } - else if(request instanceof AddressPair) - { - pair = (AddressPair) request; - type = AddressPair.class; - } + Class type = request.getClass(); while(fQueue.size() > 0 && type.isInstance(fQueue.elementAt(0))) + { + request = (Request) fQueue.elementAt(0); fQueue.removeElementAt(0); + } + + if(request instanceof ArchiveDeltas) + archiveDeltas = true; + else if(request instanceof AddressPair) + pair = (AddressPair) request; } } if(archiveDeltas)