NPE when opening a window inherited from another inherited window

I’m extending sdbmt-user-edit window to make particular changes to the project. The process performs well when I try to open the XML to edit it generates the following error

java.lang.RuntimeException: java.lang.NullPointerException
	at com.haulmont.studio.ui.sd.layout.ScreenLayoutDesigner.lambda$activate$7(SourceFile:402)
	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:53)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:970)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:57)
	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:53)
	at com.haulmont.studio.ui.sd.layout.ScreenLayoutDesigner.activate(SourceFile:369)
	at com.haulmont.studio.intellij.ui.sd.ScreenDesignerEditor.lambda$activatePanel$0(SourceFile:69)
	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:53)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:970)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:57)
	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:53)
	at com.haulmont.studio.intellij.ui.sd.ScreenDesignerEditor.activatePanel(SourceFile:58)
	at com.haulmont.studio.intellij.ui.sd.ScreenDesignerEditor.activatePanel(SourceFile:18)
	at com.haulmont.studio.intellij.ui.AbstractVaadinEditor.lambda$selectNotify$2(SourceFile:72)
	at com.vaadin.ui.UI.accessSynchronously(UI.java:1392)
	at com.haulmont.studio.intellij.ui.AbstractVaadinEditor.trySynchronously(SourceFile:123)
	at com.haulmont.studio.intellij.ui.AbstractVaadinEditor.selectNotify(SourceFile:72)
	at com.intellij.openapi.fileEditor.impl.EditorComposite$1.lambda$selectionChanged$0(EditorComposite.java:139)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154)
	at com.intellij.openapi.fileEditor.impl.EditorComposite$1.selectionChanged(EditorComposite.java:144)
	at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:114)
	at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:393)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:354)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:343)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:327)
	at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:320)
	at com.intellij.util.messages.impl.MessageBusImpl.access$100(MessageBusImpl.java:29)
	at com.intellij.util.messages.impl.MessageBusImpl$1.invoke(MessageBusImpl.java:192)
	at com.sun.proxy.$Proxy102.selectionChanged(Unknown Source)
	at com.intellij.openapi.fileEditor.impl.EditorComposite.lambda$fireSelectedEditorChanged$1(EditorComposite.java:212)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$5$1.run(FileEditorManagerImpl.java:1038)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:188)
	at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:3080)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:159)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:111)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:179)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:185)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:63)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$5.run(FileEditorManagerImpl.java:1035)
	at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:108)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1031)
	at com.intellij.openapi.fileEditor.impl.EditorComposite.fireSelectedEditorChanged(EditorComposite.java:209)
	at com.intellij.openapi.fileEditor.impl.EditorComposite.access$500(EditorComposite.java:60)
	at com.intellij.openapi.fileEditor.impl.EditorComposite$MyChangeListener.stateChanged(EditorComposite.java:424)
	at com.intellij.ui.JBTabsPaneImpl.fireChanged(JBTabsPaneImpl.java:62)
	at com.intellij.ui.JBTabsPaneImpl.access$100(JBTabsPaneImpl.java:22)
	at com.intellij.ui.JBTabsPaneImpl$2.selectionChanged(JBTabsPaneImpl.java:48)
	at com.intellij.ui.tabs.impl.JBTabsImpl.fireSelectionChanged(JBTabsImpl.java:947)
	at com.intellij.ui.tabs.impl.JBTabsImpl.executeSelectionChange(JBTabsImpl.java:903)
	at com.intellij.ui.tabs.impl.JBTabsImpl._setSelected(JBTabsImpl.java:867)
	at com.intellij.ui.tabs.impl.JBTabsImpl.select(JBTabsImpl.java:849)
	at com.intellij.ui.tabs.impl.TabLabel$1.mousePressed(TabLabel.java:96)
	at java.awt.Component.processMouseEvent(Component.java:6547)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
	at java.awt.Component.processEvent(Component.java:6315)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4899)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:729)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:674)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:373)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.NullPointerException
	at com.haulmont.studio.ui.sd.InheritanceManager.lambda$getSameNameComponents$0(SourceFile:299)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at com.haulmont.studio.ui.sd.InheritanceManager.getSameNameComponents(SourceFile:300)
	at com.haulmont.studio.ui.sd.InheritanceManager.findComponent(SourceFile:244)
	at com.haulmont.studio.ui.sd.InheritanceManager.processValueInheritance(SourceFile:453)
	at com.haulmont.studio.ui.sd.InheritanceManager.processValueInheritance(SourceFile:458)
	at com.haulmont.studio.ui.sd.InheritanceManager.processValueInheritance(SourceFile:458)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:378)
	at com.haulmont.studio.ui.sd.InheritanceManager.processChildren(SourceFile:142)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:416)
	at com.haulmont.studio.ui.sd.InheritanceManager.processChildren(SourceFile:142)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:416)
	at com.haulmont.studio.ui.sd.InheritanceManager.processChildren(SourceFile:142)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:416)
	at com.haulmont.studio.ui.sd.InheritanceManager.processChildren(SourceFile:142)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:416)
	at com.haulmont.studio.ui.sd.InheritanceManager.processChildren(SourceFile:142)
	at com.haulmont.studio.ui.sd.InheritanceManager.processComponent(SourceFile:416)
	at com.haulmont.studio.ui.sd.InheritanceManager.processInheritance(SourceFile:126)
	at com.haulmont.studio.ui.sd.layout.ScreenLayoutDesigner.editModel(SourceFile:194)
	at com.haulmont.studio.ui.sd.layout.ScreenLayoutDesigner.lambda$activate$7(SourceFile:395)
	... 91 more

Hi,

Thanks for your feedback.
The YouTrack issue was created. Will be fixed in one of the next releases.

1 Like