Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 185977 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/core/internal/registry/RegistryObjectManager.java (-1 / +21 lines)
Lines 678-685 Link Here
678
					if (tmp == null) // already removed
678
					if (tmp == null) // already removed
679
						continue;
679
						continue;
680
					Integer extensionIndex = new Integer(extensions[j]);
680
					Integer extensionIndex = new Integer(extensions[j]);
681
					if (!associatedObjects.containsKey(extensionIndex))
681
					if (!associatedObjects.containsKey(extensionIndex)) {
682
						result.put(extensionIndex, tmp);
682
						result.put(extensionIndex, tmp);
683
						collectChildren(tmp, 0, result);
684
					}
685
				}
686
			}
687
			else if (object instanceof ExtensionPoint) {
688
				// by now extensions of this extension point have been marked as orphans
689
				Map orphans = getOrphans();
690
				String name = ((ExtensionPoint)object).getUniqueIdentifier();
691
				int[] extensions = (int[]) orphans.get(name);
692
				if (extensions != null) {
693
					for (int j = 0; j < extensions.length; j++) {
694
						Extension tmp = (Extension) basicGetObject(extensions[j], RegistryObjectManager.EXTENSION);
695
						if (tmp == null) // already removed
696
							continue;
697
						Integer extensionIndex = new Integer(extensions[j]);
698
						if (!associatedObjects.containsKey(extensionIndex)) {
699
							result.put(extensionIndex, tmp);
700
							collectChildren(tmp, 0, result);
701
						}
702
					}
683
				}
703
				}
684
			}
704
			}
685
		}
705
		}

Return to bug 185977