--- old/modules/graphics/src/main/java/javafx/scene/Scene.java 2013-12-11 15:24:45.855679733 +0100 +++ new/modules/graphics/src/main/java/javafx/scene/Scene.java 2013-12-11 15:24:45.715679735 +0100 @@ -2310,6 +2310,10 @@ cam.impl_updatePeer(); impl_peer.setCamera((NGCamera) cam.impl_getPeer()); } + + if (isDirty(DirtyBits.CURSOR_DIRTY)) { + mouseHandler.updateCursor(getCursor()); + } clearDirty(); inSynchronizer = false; @@ -3703,14 +3707,15 @@ } } + if (e.getEventType() != MouseEvent.MOUSE_EXITED) { + if (cursor == null && hover) { + cursor = Scene.this.getCursor(); + } - if (cursor == null && hover) { - cursor = Scene.this.getCursor(); + updateCursor(cursor); + updateCursorFrame(); } - updateCursor(cursor); - updateCursorFrame(); - if (gestureStarted) { pdrInProgress = true; } @@ -3803,7 +3808,7 @@ currCursor = newCursor; } } - + public void updateCursorFrame() { final CursorFrame newCursorFrame = (currCursor != null)