Bug 77016 [Themes] [Jface] NPE in "FontRegistry#disposeFonts"
I am using buildId=I200410260800 on Windows XP. - Download buildId=I200410260800 - Extract and run eclipse (select OK for default workspace) - Close the welcome page - Close eclipse - The following will be in the log: !SESSION 2004-10-26 10:31:59.259 ----------------------------------------------- eclipse.buildId=I200410260800 java.version=1.4.2_02 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US !ENTRY org.eclipse.osgi 2004-10-26 10:31:59.259 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at org.eclipse.jface.resource.FontRegistry.disposeFonts(FontRegistry.java:576) at org.eclipse.jface.resource.FontRegistry.clearCaches(FontRegistry.java:564) at org.eclipse.jface.resource.FontRegistry$1.run(FontRegistry.java:192) at org.eclipse.swt.widgets.Display.release(Display.java:2503) at org.eclipse.swt.graphics.Device.dispose(Device.java:215) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:117) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 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.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688)
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
* <p>
     * If no appropriate OS-specific resource bundle is found, the
     * process is repeated using the location as the base bundle name.
     * </p>
     * <p>
     * The property file contains entries that look like this:
     * <pre>
     *	textfont.0=MS Sans Serif-regular-10
     *	textfont.1=Times New Roman-regular-10
     *	
     *	titlefont.0=MS Sans Serif-regular-12
     *	titlefont.1=Times New Roman-regular-12
     * </pre>
     * Each entry maps a symbolic font names (the font registry keys) with
     * a "<code>.<it>n</it></code> suffix to standard font names
     * on the right. The suffix indicated order of preference: 
     * "<code>.0</code>" indicates the first choice,
     * "<code>.1</code>" indicates the second choice, and so on.
     * </p>
     * The following example shows how to use the font registry:
     * <pre>
     *	FontRegistry registry = new FontRegistry("com.example.myapp.fonts");
     *  Font font = registry.get("textfont");
     *  control.setFont(font);
     *  ...
     * </pre>
     *
     * @param location the name of the resource bundle
     * @param loader the ClassLoader to use to find the resource bundle
     * @exception MissingResourceException if the resource bundle cannot be found