The new NodeBox forum is live! Everything from support.nodebox.net moved here: sign in with the same email to pick up your old posts. Something not working? Write to forum-support@nodebox.net.
I upgraded to Mac Sierra (OS 10.12) last night, and also updated my Java to 1.8.0_91-b14. So far NodeBox seems to be working just fine, except for one subtle problem...
I use a MacBook Air at home and use the trackpad for all movement. After upgrading to Sierra, I found that zooming in and out of a rendering seemed harder to control. The tiniest two-finger drag would collapse my drawing to a pixel and then suddenly zoom back in to 10 times screen size. It became very hard to position the drawing precisely. Zooming in and out on the network pane didn't seem quite as bad, but was also somewhat touchy.
I tried adjusting the trackpad scrolling speed (which you can do with the accessibility panel). This affected my two-finger scrolls on web pages but not in NodeBox. I also tried attaching a USB mouse with a scroll wheel. Adjusting scrolling speed affected both web pages and NodeBox when using the mouse, but did not affect two-finger drags on the trackpad.
I found that with practice I could eventually zoom to my desired magnification in NodeBox, but only if I do so very slowly and carefully.
Can anyone else verify this problem? I'm not sure whether it's Sierra or possibly also something to do with my particular MacBook.
But I would think that in any case adjusting scrolling speed in the accessibility panel should affect NodeBox. Is the NodeBox 3 Mac app using system APIs to define trackpad scrolling speeds or just using some hard-coded value that may need adjustment under different operating systems?
Not a showstopper, but it has made my daily NodeBoxing a bit more frustrating.
Thanks,
John
RO
ROrougeux
I've had the same problem. This appears to be related to Sierra generating more scroll events than previous OS versions:
Apparently they've made their own version of the JDK (!) which a custom fix for the scrolling. That solution may work for them, but I don't feel like making a custom build of the SDK, and would rather wait a bit until Oracle solves the issue upstream.
I tested the rc1 version and it seems to work fine for me. I could see no difference between the current version and this new build. The scrolling issue seems unchanged and I am unaware of any other Sierra-related issues.
I have learned to live with the scrolling issue; it's annoying but not fatal. And I agree that it probably makes sense for you to wait until Oracle fixes the issue upstream.
(The Java Platform team at Oracle working on this are mostly Russians based in St. Petersburg. I also work at Oracle (in California), but it's a big company so I have no direct connection with them. I think they are already sufficiently motivated to fix this, but if you have a particular question or suggestion, I could try passing it along.)
John
FB
FBFrederik De BleserNodeBox team
I've just upgraded to Sierra and I didn't experience any issues with scrolling or double-clicking. I'm using a Retina MBP, both with the trackpad and an external mouse.
RO
ROrougeux
I've attached a recording of how sensitive scrolling is. The attached recording shows a default 100x100 square and me trying to scroll in and out with the smallest movements (barely a few millimeters) and the zooming appearing to be overly sensitive.
The problems with double-clicking seem to be very sporadic. Sometimes it works fine for periods of time and then after a bit, double-clicks sometimes stop registering altogether.
These behaviors happen to me with both an external magic mouse and the trackpad. I'm using an early 2015 MacBook Air and my mouse is a first generation magic mouse. All of this behaved normally prior to upgrading to Sierra.
FB
FBFrederik De BleserNodeBox team
Hi Nicholas,
Thanks for investing. Maybe it's related to retina vs non-retina? I'll test on a colleague's MBA and see if there's any difference.
I assume that the double-clicking is also a precision issue: I'm speculating they upped the precision, meaning you have to stand on the exact same pixel when double-clicking (whereas before there was a bit more slack). That would explain why the issue only happens sporadically.
RO
ROrougeux
This may or may not be related to all the clicking issues but I frequently get the error message below when trying to right-click to add a node. NodeBox thinks I'm trying to drag a selection rectangle when right-clicking and shows the error. Can't continue using NodeBox until I quit and restart it.
I'm using a Magic Mouse (first one, not the second) and I read somewhere that even that has issues with macOS Sierra but I'm not sure if that's true.
java.lang.NullPointerException
at nodebox.client.NetworkView$MouseHandler.mouseDragged(Unknown Source)
at java.awt.AWTEventMulticaster.mouseDragged(AWTEventMulticaster.java:320)
at java.awt.Component.processMouseMotionEvent(Component.java:6581)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
at java.awt.Component.processEvent(Component.java:6302)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
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:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
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)
RO
ROrougeux
More information: scroll speed seems great using a trackpad on a MacBook Air mid-2015 and I haven't experienced any of the double-clicking or right-clicking problems using the trackpad.
FB
FBFrederik De BleserNodeBox team
Okay the mouseDrag errors are definitely silly, will investigate.
RO
ROrougeux
Just checking in. Any chance of an update soon? This error almost renders NodeBox unusable for more than a few minutes at a time.
FB
FBFrederik De BleserNodeBox team
Hi Nicholas,
Thanks for reminding me. I will schedule some time to look at this after the New Year.
Best wishes!
FB
FBFrederik De BleserNodeBox team
Hi Nicholas,
I looked at the specific function but I couldn't reproduce it at all. Unfortunately, your stack trace does not have the line number (I think the NodeBox build strips it out) so it's hard to see what might trigger the error.
I might try to compile a version that has debug information, that would give me the line numbers and allow me to investigate further.
FB
FBFrederik De BleserNodeBox team
Hi,
I've made a special test version. The actual code is unchanged: I just added some compile flags that should tell me more information when you see a stack trace.
Nicholas, can you try this, get the error to appear, and then tell copy/paste the stack trace? Thanks in advance!
RO
ROrougeux
I'll definitely try the special test version and send the info the next time it happens. It shouldn't be long since I'm working on a few projects with NodeBox at the moment.
Thanks for digging into this.
RO
ROrougeux
I've been using the special test version since you provided it and so far, I haven't seen the error pop up again. Even though you said the actual code is unchanged, something seems to be keeping the error at bay. I'll still be on the look out for it and post it when it happens.
FB
FBFrederik De BleserNodeBox team
Hi Nicholas,
Thanks for trying this out! I'm happy for you that you don't get any errors — but as a programmer I would much rather it'd pop up the error message so I know what's going on :-)
You're welcome to keep using this version; I'll make an official release soon (which includes the debug flags, so I get better stack traces for future bug reports).
RO
ROrougeux
Finally got the error to appear again. Here's the error:
java.lang.NullPointerException
at nodebox.client.NetworkView$MouseHandler.mouseDragged(NetworkView.java:994)
at java.awt.AWTEventMulticaster.mouseDragged(AWTEventMulticaster.java:320)
at java.awt.Component.processMouseMotionEvent(Component.java:6581)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
at java.awt.Component.processEvent(Component.java:6302)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
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:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
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)
FB
FBFrederik De BleserNodeBox team
Thanks! I will investigate.
Know something that helps?
Sign in with your email address to reply. No password needed.