You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2017/03/15 04:05:09 UTC
[40/50] [abbrv] git commit: [flex-sdk] [refs/heads/develop] -
FLEX-27509 CAUSE: In an AdvancedDataGrid with non-text item renderers
AdvancedDataGrid.expandItem() applies masks onto those item renderers when it
needs to close a node. At the same time, Adv
FLEX-27509
CAUSE: In an AdvancedDataGrid with non-text item renderers AdvancedDataGrid.expandItem() applies masks onto those item renderers when it needs to close a node. At the same time, AdvancedListBase has its own custom mechanism for using masks to scroll vertically in a more efficient way. In order to detect whether it's used this mechanism, and reset the changes (detection happens in AdvancedListBase.removeClipMask(), while the mechanism is applied in addClipMask()), it simply asks whether the non-text item renderer has a mask applied. However, this mask could have been applied by the expandItem() mechanism mentioned above, which means that addClipMask() will never have been called. As a result, itemMaskFreeList is still null, which leads to the fatal.
SOLUTION: Ideally there should be a flag that specifies whether AdvancedListBase.addClipMask() has applied the masking mechanism. But for now we can simply check that itemMaskFreeList isn't null before we use it.
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/4102e70b
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/4102e70b
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/4102e70b
Branch: refs/heads/develop
Commit: 4102e70b6c9523b7b1f29d0b8c82602f421dc535
Parents: db8c1bf
Author: Mihai Chira <mi...@apache.org>
Authored: Thu Jan 12 13:24:40 2017 +0100
Committer: Mihai Chira <mi...@apache.org>
Committed: Thu Jan 12 16:52:37 2017 +0100
----------------------------------------------------------------------
.../src/mx/controls/listClasses/AdvancedListBase.as | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4102e70b/frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as b/frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
index 854f0df..a872381 100644
--- a/frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
+++ b/frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
@@ -5231,7 +5231,10 @@ public class AdvancedListBase extends ScrollControlBase
}
else if (item && item.mask)
{
- itemMaskFreeList.push(item.mask);
+ if(itemMaskFreeList)
+ {
+ itemMaskFreeList.push(item.mask);
+ }
item.mask = null;
}
}