Bug 567289

Summary: heapstatus not customizable with using preferenceCustomization or -pluginCustomization
Product: [Eclipse Project] Platform Reporter: Reto Urfer <reto.urfer>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: NEW --- QA Contact:
Severity: major    
Priority: P3 CC: alice.stoian, ovidiu.ostoia
Version: 4.15   
Target Milestone: ---   
Hardware: PC   
OS: Windows 10   
Whiteboard:

Description Reto Urfer CLA 2020-09-23 09:39:43 EDT
The preferences for the plugin org.eclipse.ui are prooerly initialized using the value from the property file specified by preferenceCustomization or -pluginCustomization.

Unfortunately the method initializeDefaultPreferences() of the class org.eclipse.ui.internal.WorkbenchPreferenceInitializer located in plugin org.eclipse.ui.workbench is always executed after the preference initialization of the plugin org.eclipse.ui and overwrites always the configured with its default property values (see the following code snippet).

// Heap status preferences is stored in different node		IEclipsePreferences heapNode = context.getNode("org.eclipse.ui"); //$NON-NLS-1$
heapNode.putBoolean(IWorkbenchPreferenceConstants.SHOW_MEMORY_MONITOR, false);
node.putInt(IHeapStatusConstants.PREF_UPDATE_INTERVAL, 500);
node.putBoolean(IHeapStatusConstants.PREF_SHOW_MAX, false);
node.putBoolean(IPreferenceConstants.OVERRIDE_PRESENTATION, false);
 
As a workaround I tried to explicitly start the plugin org.eclipse.ui.workbench with a lower start level but with no success. The problem most probably was alreay existing in earlier releases but with Eclipse 4.15 the default value of the property org.eclipse.ui/SHOW_MEMORY_MONITOR has been changed from true to false and now it is not possible anymore to make the heapstatus visible in a RCP application.