1.save a custom perspective layout based on a perspective which has not config an icon in extention point
eg:
<extension
point="org.eclipse.ui.perspectives">
<perspective
name="Perspective"
class="com.mudboy.cfr.Perspective"
id="com.mudboy.cfr.perspective">
</perspective>
</extension>
2.then will has the following error:
Exception in thread "Thread-1" java.lang.NullPointerException
at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:203) -----display is null
at org.eclipse.jface.resource.ImageRegistry.<init>(ImageRegistry.java:151) -----use Display.getCurrent() get display,but
at org.eclipse.jface.resource.ImageRegistry.<init>(ImageRegistry.java:123) -----current thread doesnt belong to a display
-----so ,null will be return
at org.eclipse.ui.internal.WorkbenchImages.initializeImageRegistry(WorkbenchImages.java:568)
at org.eclipse.ui.internal.WorkbenchImages.getDescriptors(WorkbenchImages.java:469)
at org.eclipse.ui.internal.WorkbenchImages.getImageDescriptor(WorkbenchImages.java:499)
at org.eclipse.ui.internal.registry.PerspectiveDescriptor.getImageDescriptor(PerspectiveDescriptor.java:236)
at org.eclipse.ui.internal.registry.PerspectiveDescriptor.restoreState(PerspectiveDescriptor.java:337)
at org.eclipse.ui.internal.registry.PerspectiveRegistry.loadCustom(PerspectiveRegistry.java:435)
at org.eclipse.ui.internal.registry.PerspectiveRegistry.load(PerspectiveRegistry.java:395)
at org.eclipse.ui.internal.WorkbenchPlugin.getPerspectiveRegistry(WorkbenchPlugin.java:561)
at org.eclipse.ui.internal.Workbench.getPerspectiveRegistry(Workbench.java:1191)
at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1844)
at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1783)
at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
at org.eclipse.ui.application.WorkbenchAdvisor$1.run(WorkbenchAdvisor.java:78 -----use a new thread which has no display to attached