     public function setLayoutMatrix(value:Matrix):void
     {
         allocateLayoutFeatures();
+        var previous:Boolean = needsDisplayObject;
         layoutFeatures.layoutMatrix = value;
- 	    invalidateTransform(false /*changeInvalidatesLayering*/,
+        invalidateTransform(previous != needsDisplayObject,
                             false /*triggerLayout*/);
     }
 

    public function setLayoutMatrix3D(value:Matrix3D):void
    {
        allocateLayoutFeatures();
        layoutFeatures.layoutMatrix3D = value;
        invalidateTransform(false /*changeInvalidatesLayering*/,
                            false /*triggerLayout*/);
    }


     */
    protected function computeMatrix():Matrix
    {
        if (layoutFeatures == null)
            return null;

        var m:Matrix = layoutFeatures.layoutMatrix;
