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