slisson / mps-tables

Table Editor Component for JetBrains MPS
Apache License 2.0
7 stars 3 forks source link

NPE in RowCreateHandlerAdapter when pressing "enter" in the right box when table is empty #93

Closed vlsi closed 9 years ago

vlsi commented 9 years ago

State before exception (cursor is to the right of the table) is as follows: screenshot_before_exception

Table editor: table_editor

Row editor: table_row_editor

Expected result: new row added Actual result: NPE

run in EDT failure
java.lang.NullPointerException
    at de.slisson.mps.tables.runtime.gridmodel.RowCreateHandlerAdapter.execute(RowCreateHandlerAdapter.java:16)
    at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl$1.doExecute(ActionHandlerImpl.java:56)
    at jetbrains.mps.editor.runtime.commands.EditorCommand.run(EditorCommand.java:46)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$CommandRunnable$1.run(WorkbenchModelAccess.java:705)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runWriteAction(WorkbenchModelAccess.java:142)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$CommandRunnable.run(WorkbenchModelAccess.java:700)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:124)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runWriteActionInCommand(WorkbenchModelAccess.java:539)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess.executeCommand(WorkbenchModelAccess.java:502)
    at jetbrains.mps.project.ProjectModelAccess.executeCommand(ProjectModelAccess.java:36)
    at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:53)
    at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:43)
    at jetbrains.mps.ide.editor.actions.EditorActionUtils.callInsertAction(EditorActionUtils.java:75)
    at jetbrains.mps.ide.editor.actions.Insert_Action$1.run(Insert_Action.java:80)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$7.compute(WorkbenchModelAccess.java:370)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$7.compute(WorkbenchModelAccess.java:367)
    at jetbrains.mps.util.ComputeRunnable.compute(ComputeRunnable.java:32)
    at jetbrains.mps.util.AbstractComputeRunnable.run(AbstractComputeRunnable.java:27)
    at jetbrains.mps.smodel.WriteActionDispatcher.run(WriteActionDispatcher.java:39)
    at jetbrains.mps.smodel.WriteActionDispatcher.compute(WriteActionDispatcher.java:49)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$8.compute(WorkbenchModelAccess.java:397)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$TryWriteActionComputable$1.compute(WorkbenchModelAccess.java:770)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:988)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess$TryWriteActionComputable.compute(WorkbenchModelAccess.java:766)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess.tryWrite(WorkbenchModelAccess.java:411)
    at jetbrains.mps.ide.smodel.WorkbenchModelAccess.tryWrite(WorkbenchModelAccess.java:374)
    at jetbrains.mps.ide.smodel.EDTExecutor$2.tryRun(EDTExecutor.java:78)
    at jetbrains.mps.ide.smodel.EDTExecutor$Executor.worker(EDTExecutor.java:193)
    at jetbrains.mps.ide.smodel.EDTExecutor$Executor.access$300(EDTExecutor.java:129)
    at jetbrains.mps.ide.smodel.EDTExecutor$Executor$1.run(EDTExecutor.java:135)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:748)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:577)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:384)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    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)
slisson commented 9 years ago

76ce678af6fa6ab96849ca6b99fe5e35df881ff7