jdf / Processing.py-Bugs

A home for all bugs and feature requests about Python Mode for the Processing Development Environment.
41 stars 8 forks source link

Enable complex text input error #244

Closed lhcui closed 6 years ago

lhcui commented 6 years ago

macOS High Sierra / Processing 3.3.7 Chinese input in Java Mode works fine. When the Processing IDE was switched to Python mode, we can't do any Chinese input. Copy and Paste of Chinese characters is OK.

lhcui commented 6 years ago

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at processing.app.syntax.PdeInputHandler.handleInputMethodCommit(PdeInputHandler.java:283) at processing.app.syntax.im.InputMethodSupport.inputMethodTextChanged(InputMethodSupport.java:194) at java.awt.Component.processInputMethodEvent(Component.java:6661) at java.awt.Component.processEvent(Component.java:6315) at java.awt.Container.processEvent(Container.java:2237) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2295) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) 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)

jdf commented 6 years ago

Thanks for the detailed and helpful report.

https://github.com/processing/processing/blob/master/app/src/processing/app/syntax/PdeInputHandler.java#L283

    editor.getSketch().setModified(true);

Either editor or editor.getSketch() is null in that moment. I'll investigate.

jdf commented 6 years ago

Please upgrade to version 3042 or better, and let me know if it works now.

lhcui commented 6 years ago

fixed in 3042, thx