processing / processing/processing4

`Cannot invoke "processing.app.SketchCode.isModified()" because "this.current" is null`

未关闭
#719 9 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Java
星标
494
派生
183
平均合并
4 小时 39 分钟
30 天内合并 PR
3

描述

Created by: catem-code

java. lang. NullPointerException: Cannot invoke "processing.app.SketchCode.isModified ()" because

"this.current" is null

at processing.app. Sketch. setModified (Sketch. java: 760) at processing. mode. java. JavaEditor. (JavaEditor. java: 119) at processing. mode. java. JavaMode. createEditor (JavaMode. java: 44) at processing. app. Base. handleOpenInternal (Base. java: 1613) at processing. app. Base. handleOpen (Base. java: 1482) at processing. app. Base. handleOpenPrompt (Base. java: 1178) at processing.app.u. Editor. lambda$buildFileMenus4 (Editor.¡ava:662) at java. desktop/javax. swing. AbstractButton. fireActionPerformed (AbstractButton. java: 1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing. DefaultButtonModel.fireActionPerformed(DevaultButtonModel.ava:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.pilaf.basic.Bas ricMenuItemUI.doClick(BasicMenuItemUI.java:1028) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072) at java.desktop/java.awt. Component. processMouseEvent (Component. java: 6626) at java. desktop/javax. swing. JComponent. processMouseEvent (JComponent. java: 3389) at java.desktop/java.awt. Component. processEvent (Component. java: 6391) java.desktop/java.awt.Container.processEvent(Container. java:2266)

at java.desktop/java awt. Component. dispatchEventImpl (Component java: 5001)

java.desktop/java.

awt. Container.dispatchEventImpl (Container java: 2324)

at java.desktop/java. awt. Component. dispatchEvent (Component. java: 4833) at java. desktop/java.awt. LightweightDispatcher.retargetMouseEvent(Container.java: 4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt

LightweightDispatcher _dispatchEvent (Container: java: 4516)

at java.desktop/java

Container. dispatchEventImpl(Container java:2310)

at java.desktop/java

Ewindow

• dispatchEventIm pl (window. java:2780)

java.desktop/java.aw

(Component

L.ja va: 4833)

at java.desktop/java

chEventImpl(EventQueue.java: 773

CHET

java.desktop/java at java.desktop/java.awt at java.base/java.securit

a: 399

at java.base/java, security. ProtectionDomainsJavase at java.base/java. security. ProtectionDomainsJav

ege (ProtectionDomain. java: 86)

ege (ProtectionDomain. java: 97)

at java.desktop/java. awt. EventQueue$5 run (EventQueue. java: 7. at java.desktop/java.awt. EventQueue$5. run (EventQueue. java: 742 at java.base/java.secur

Arcasstonrrores

at lava.base java.secur

tectionDomain$J.

ProtectionDomain, ¡ava: 86)

at lava.desktop/Java.awl

:203

at lava.desktop/java.awt.Eventospatc at java.desktop/java.awt. EventDispatchThread.pumpEventsForFilter(EventDispatchThread at java. desktop/java.awt. EventDispatchThread.pumpEventsForHierarchy (EventDispatchT at java.desktop/java. awt. EventDispatchThread.pumpEvents (EventDispatchThread. at java.desktop/java.avt.EventDispatchThread.pumpEvents(EventDispatchThread.

Q

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 Sketch.java:760 中的 processing.app.Sketch.setModified 开始,跟踪 stack trace 中所指示的 JavaEditor 和 JavaMode 编辑器创建路径。通过编辑器菜单打开一个 sketch 来复现该故障,然后确定 current 为 null 时的预期行为,并验证打开操作不再抛出此异常。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
desktop, devtools
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。