Bug 176858 - [Memory View] CreateRendering can potentially get left behind
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java index 26619c2..627ae4c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
@@ -415,7 +415,7 @@ if (viewTab != null) setRenderingSelection(viewTab.getRendering()); - if (viewTab == null) { + if (viewTab == null && fRenderingMgr.getRenderings().length == 0) { // do not ever want to put it on the empty folder if (toDisplay != fEmptyTabFolder) { TabItem newItem = new TabItem(toDisplay, SWT.NULL); @@ -451,12 +451,16 @@ } if (tabFolder.getItemCount() >= 1) { - // remove "Create rendering tab" - TabItem item = tabFolder.getItem(0); - if (item != null && item.getData() instanceof MemoryViewTab) { - MemoryViewTab viewTab = (MemoryViewTab) item.getData(); - if (viewTab.getRendering() instanceof CreateRendering) { - disposeTab(item); + TabItem[] items = tabFolder.getItems(); + for (int i=0; i<items.length; i++) + { + // remove "Create rendering tab" + TabItem item = items[i]; + if (item.getData() instanceof MemoryViewTab) { + MemoryViewTab viewTab = (MemoryViewTab) item.getData(); + if (viewTab.getRendering() instanceof CreateRendering) { + disposeTab(item); + } } } }