Bug 215159 [PropertiesView] description of last selected item stays in status line after deselection
Build ID: M20071023-1652 Steps To Reproduce: 1. use a standard java project 2. make sure the package explorer and properties view are open 3. select the "src" folder in the package explorer -> status line shows "project - src" 4. select a random property in the properties view (e.g. "path") -> status line shows "path" 5. select the "JRE System Library" in the package explorer -> status line shows "JRE System Library ... - project" 6. set focus on the (now empty) properties view -> status line shows "path" (should be empty, shouldn't it?) More information: I found this one developing a RCP using PropertyDescriptors and its setDescription(String) method. It's a cosmetic bug, but I think it won't be much work clearing the status line when the properties view looses all content.
bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
Map categoryCache = new HashMap(categories.length * 2 + 1);
        for (int i = 0; i < categories.length; i++) {
            categories[i].removeAllEntries();
            categoryCache.put(categories[i].getCategoryName(), categories[i]);
        }
        
        List categoriesToRemove = new ArrayList(Arrays.asList(categories));
        
        PropertySheetCategory misc = (PropertySheetCategory) categoryCache
                .get(MISCELLANEOUS_CATEGORY_NAME);
        if (misc == null) {
			misc = new PropertySheetCategory(MISCELLANEOUS_CATEGORY_NAME);
		}
        boolean addMisc = false;
        for (int i = 0; i < childEntries.size(); i++) {
            IPropertySheetEntry childEntry = (IPropertySheetEntry) childEntries
                    .get(i);
            String categoryName = childEntry.getCategory();
            if (categoryName == null) {
                misc.addEntry(childEntry);
                addMisc = true;
                categoriesToRemove.remove(misc);
            } else {
                PropertySheetCategory category = (PropertySheetCategory) categoryCache
                        .get(categoryName);
                if (category == null) {
                    category = new PropertySheetCategory(categoryName);
                    categoryCache.put(categoryName, category);
                } else {
                    categoriesToRemove.remove(category);