diff -r f4ba1d08a00c javafx-ui-common/src/javafx/scene/Node.java --- a/javafx-ui-common/src/javafx/scene/Node.java Mon Nov 19 17:00:44 2012 -0800 +++ b/javafx-ui-common/src/javafx/scene/Node.java Tue Nov 20 15:59:25 2012 -0800 @@ -5028,16 +5028,7 @@ nodeOrientation = new StyleableObjectProperty(NodeOrientation.INHERIT) { @Override protected void invalidated() { - impl_transformsChanged(); - // Apply the transform to all the children of this node - if (Node.this instanceof Parent) { - Parent p = (Parent)Node.this; - List children = p.getChildren(); - for (int i = 0, max = children.size(); i < max; i++) { - Node n = p.getChildren().get(i); - n.impl_transformsChanged(); - } - } + orientationChanged(); } @Override @@ -5061,6 +5052,10 @@ return nodeOrientation; } + void orientationChanged() { + impl_transformsChanged(); + } + /** * Returns the NodeOrientation that is used to draw the node. *

diff -r f4ba1d08a00c javafx-ui-common/src/javafx/scene/Parent.java --- a/javafx-ui-common/src/javafx/scene/Parent.java Mon Nov 19 17:00:44 2012 -0800 +++ b/javafx-ui-common/src/javafx/scene/Parent.java Tue Nov 20 15:59:25 2012 -0800 @@ -1219,6 +1219,13 @@ return ((PGGroup) impl_getPGNode()); } + void orientationChanged() { + super.orientationChanged(); + //one day use generics for performance. + for (Node child: children) { + child.orientationChanged(); + } + } /*************************************************************************** * *