Project: Eclipse_Platform_UI
Bug 89530 [Preferences] Performance pref page is layer breaker and causes errors
Reported: 2005-03-30 08:35:32 | Status: verified fixed

I20050329-2000 The new Performance preference page directly reference JDT UI stuff but is located in org.eclipse.ui.ide. In addition to being a layer breaker this causes errors for users which do not have JDT installed (e.g. the Platform SDK drop) and it also shows a dialog saying that the page contains invalid values. Here's the .log: !SESSION 2005-03-30 15:31:47.340 ----------------------------------------------- eclipse.buildId=I20050330-0500 java.version=1.4.2_03 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH Command-line arguments: -os win32 -ws win32 -arch x86 !ENTRY org.eclipse.jface 4 2 2005-03-30 15:31:47.340 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.IllegalArgumentException: Node not found at org.eclipse.ui.dialogs.PreferenceLinkArea.<init>(PreferenceLinkArea.java:65) at org.eclipse.ui.internal.performance.PerformancePrefererencePage.createContents(PerformancePrefererencePage.java:64) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:423) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:388) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.createPageControl(WorkbenchPreferenceDialog.java:375) at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1119) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1021) at org.eclipse.core.runtime.Platform.run(Platform.java:757) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:40) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1113) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.showPage(WorkbenchPreferenceDialog.java:440) at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:618) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:680) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1021) at org.eclipse.core.runtime.Platform.run(Platform.java:757) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:40) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:678) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:949) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:969) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:231) at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:226) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:392) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:118) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2871) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2530) at org.eclipse.jface.window.Window.runEventLoop(Window.java:803) at org.eclipse.jface.window.Window.open(Window.java:781) at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2894) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2527) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1570) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1534) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:306) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:228) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:338) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:151) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268) at org.eclipse.core.launcher.Main.basicRun(Main.java:260) at org.eclipse.core.launcher.Main.run(Main.java:887) at org.eclipse.core.launcher.Main.main(Main.java:871)

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PreferenceLinkArea.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java