Repository: flex-sdk
Updated Branches:
  refs/heads/develop fcc25865f -> 243507a73


FLEX-35321 CAUSE: if the object isn't on stage when we'd normally set its 
initialized flag to true, we correctly skip this step, but we also need to set 
its updateCompletePendingFlag back to false, so that in case it's added to 
stage again it can work correctly, and have its initialized flag set to true as 
expected. This second step was skipped in the previous commit. This could be 
noticed, for example, in DataGrid, which would not show the renderers which it 
initially used in GridViewLayout.updateTypicalCellSizes().
SOLUTION: set the updateCompletePendingFlag to false even if the object isn't 
on stage anymore.
NOTES: also removed unused imports and an unused local variable.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/243507a7
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/243507a7
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/243507a7

Branch: refs/heads/develop
Commit: 243507a7346b6acbba755833a970dccdb48cf375
Parents: fcc2586
Author: Mihai Chira <[email protected]>
Authored: Wed Aug 30 10:27:35 2017 +0200
Committer: Mihai Chira <[email protected]>
Committed: Wed Aug 30 10:27:35 2017 +0200

----------------------------------------------------------------------
 .../projects/framework/src/mx/managers/LayoutManager.as  | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/243507a7/frameworks/projects/framework/src/mx/managers/LayoutManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/LayoutManager.as 
b/frameworks/projects/framework/src/mx/managers/LayoutManager.as
index d070203..131838e 100644
--- a/frameworks/projects/framework/src/mx/managers/LayoutManager.as
+++ b/frameworks/projects/framework/src/mx/managers/LayoutManager.as
@@ -19,14 +19,10 @@
 
 package mx.managers
 {
-import flash.display.DisplayObject;
-import flash.display.Sprite;
 import flash.display.Stage;
 import flash.events.Event;
 import flash.events.EventDispatcher;
 
-import mx.core.ILayoutElement;
-import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.DynamicEvent;
@@ -852,8 +848,9 @@ public class LayoutManager extends EventDispatcher 
implements ILayoutManager
                         obj.initialized = true;
                     if (obj.hasEventListener(FlexEvent.UPDATE_COMPLETE))
                         obj.dispatchEvent(new 
FlexEvent(FlexEvent.UPDATE_COMPLETE));
-                    obj.updateCompletePendingFlag = false;
                 }
+
+                obj.updateCompletePendingFlag = false;
                 obj = 
ILayoutManagerClient(updateCompleteQueue.removeLargest());
             }
 
@@ -930,7 +927,6 @@ public class LayoutManager extends EventDispatcher 
implements ILayoutManager
                var lastCurrentObject:ILayoutManagerClient = currentObject;
                
         var obj:ILayoutManagerClient;
-        var i:int = 0;
         var done:Boolean = false;
         var oldTargetLevel:int = targetLevel;
 
@@ -1104,8 +1100,9 @@ public class LayoutManager extends EventDispatcher 
implements ILayoutManager
 
                         if (obj.hasEventListener(FlexEvent.UPDATE_COMPLETE))
                             obj.dispatchEvent(new 
FlexEvent(FlexEvent.UPDATE_COMPLETE));
-                        obj.updateCompletePendingFlag = false;
                     }
+
+                        obj.updateCompletePendingFlag = false;
                     obj = 
ILayoutManagerClient(updateCompleteQueue.removeLargestChild(target));
                 }
             }

Reply via email to