Community
Participate
Working Groups
Need to change the code so that we close uninstantiated editors before the instantiated ones. Thread [main] (Suspended (breakpoint at line 39 in CompatibilityEditor)) CompatibilityEditor.<init>(MPart, EditorReference) line: 39 NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available [native method] NativeConstructorAccessorImpl.newInstance(Object[]) line: 67 DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 522 ConstructorRequestor.execute() line: 44 InjectorImpl.internalMake(Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 290 InjectorImpl.make(Class<T>, PrimaryObjectSupplier) line: 219 ContextInjectionFactory.make(Class<T>, IEclipseContext) line: 152 ReflectionContributionFactory.createFromBundle(Bundle, IEclipseContext, IEclipseContext, URI) line: 90 ReflectionContributionFactory.doCreate(String, IEclipseContext, IEclipseContext) line: 64 ReflectionContributionFactory.create(String, IEclipseContext) line: 53 ContributedPartRenderer.createWidget(MUIElement, Object) line: 56 PartRenderingEngine.createWidget(MUIElement, Object) line: 630 PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 469 PartRenderingEngine.createGui(MUIElement) line: 546 StackRenderer.showTab(MUIElement) line: 512 LazyStackRenderer$1.handleEvent(Event) line: 74 UIEventHandler.handleEvent(Event) line: 41 EventHandlerWrapper.handleEvent(Event, Permission) line: 188 EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 198 EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230 ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148 EventAdminImpl.dispatchEvent(Event, boolean) line: 139 EventAdminImpl.sendEvent(Event) line: 78 EventComponent.sendEvent(Event) line: 39 EventBroker.send(String, Object) line: 73 UIEventPublisher.notifyChanged(Notification) line: 58 PartStackImpl(BasicNotifierImpl).eNotify(Notification) line: 380 PartStackImpl(ElementContainerImpl<T>).setSelectedElement(T) line: 159 PartServiceImpl.hidePart(MPart, boolean) line: 831 WorkbenchPage.hidePart(MPart, boolean, boolean, boolean) line: 986 WorkbenchPage.closeEditors(IEditorReference[], boolean) line: 886 WorkbenchPage.closeAllEditors(boolean) line: 775 CloseAllHandler.execute(ExecutionEvent) line: 48
Fixed in CVS HEAD. Thanks for the bug report, Paul.
Verified in I20101026-0203. I observed that there are no calls to the ContributedPartRenderer when using close all... However, there's a corollary...opening multiple editors instantiates all of them...open a new defect ?
(In reply to comment #2) > However, there's a corollary...opening multiple editors instantiates all of > them...open a new defect ? Yes, the openEditors(IEditorInput[], String[], int) doesn't work properly at the moment. I believe there is a test for this in the workbench.