Now to the bug report: I work with multiple screens on Ubuntu 8.04. Whenever the mouse pointer leaves the current screen, an invalid mouse position seems to be generated. I've seen this with several programs, which dealt with problem with varying degrees of grace.
At any rate, the rotate tool - and possibly others - throws an exception which brings the whole tool system to a halt. With the latest release, I get the following stack trace:
Code: Select all
Exception in thread "jReality ToolSystem EventQueue" java.lang.IllegalStateException: NaN
at de.jreality.math.P3.makeTranslationMatrix(P3.java:646)
at de.jreality.math.P3.extractOrientationMatrix(P3.java:165)
at de.jreality.tools.RotateTool.objToAvatar(RotateTool.java:172)
at de.jreality.tools.RotateTool.perform(RotateTool.java:143)
at de.jreality.toolsystem.ToolSystem.processToolSet(ToolSystem.java:510)
at de.jreality.toolsystem.ToolSystem.processTriggerQueue(ToolSystem.java:421)
at de.jreality.toolsystem.ToolSystem.processToolEvent(ToolSystem.java:308)
at de.jreality.toolsystem.ToolEventQueue$1.run(ToolEventQueue.java:79)
at java.lang.Thread.run(Unknown Source)
The dragging tool, by the way, does strange things when the cursor leaves the current screen, but recovers when it returns.