You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by bi...@apache.org on 2014/08/17 09:48:23 UTC

[36/50] git commit: [flex-sdk] [refs/heads/new_android_skins] - FLEX-34458 CAUSE: Because HierarchicalCollectionViewCursor uses both relative and absolute bookmarks in the various collections of the hierarchy, there needs to be special treatment for thes

FLEX-34458
CAUSE:
Because HierarchicalCollectionViewCursor uses both relative and absolute bookmarks in the various collections of the hierarchy, there needs to be special treatment for these two cases. Namely, while it works great with absolute bookmarks to call .movePrevious on the bookmark when something is deleted in the same collection before the selected item, it doesn't work well for the relative CursorBookmark.LAST currentChildBookmark value. Because HierarchicalCollectionViewCursor.collectionChangeHandler() did not make any difference between absolute and relative bookmarks, it used to call .movePrevious() on the bookmark even if it was the absolute value CursorBookmark.LAST.

SOLUTION:
In this situation we don't need to .movePrevious() when items above are deleted, because CursorBookmark.LAST will always point to the last item in the collection, no matter what changes happened to that collection.


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

Branch: refs/heads/new_android_skins
Commit: 2f1b76827763b32988b1a1ccc73e603d9d7d788a
Parents: 979c7a8
Author: Mihai Chira <mi...@apache.org>
Authored: Fri Aug 8 15:54:05 2014 +0100
Committer: Mihai Chira <mi...@apache.org>
Committed: Fri Aug 8 16:11:59 2014 +0100

----------------------------------------------------------------------
 .../src/mx/collections/HierarchicalCollectionViewCursor.as    | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2f1b7682/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as b/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
index ef89479..1f3244d 100644
--- a/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
+++ b/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
@@ -1261,6 +1261,9 @@ public class HierarchicalCollectionViewCursor extends EventDispatcher
 
                     if (parentOfChangingNode == parentOfCurrentNode)
                     {
+                        if(currentChildBookmark == CursorBookmark.LAST)
+                            break;
+
                         if (changingNodeAndSiblings != null)
                         {
                             changingCollectionCursor = changingNodeAndSiblings.createCursor();
@@ -1285,6 +1288,10 @@ public class HierarchicalCollectionViewCursor extends EventDispatcher
                                 changingNodeCollectionBookmarkIndex = parentOfChangingNodeIndex + 1;
                                 changingCollectionCursor = changingNodeAndSiblings.createCursor();
                                 bookmarkInChangingCollection = parentBookmarkStack[changingNodeCollectionBookmarkIndex];
+
+                                if(bookmarkInChangingCollection == CursorBookmark.LAST)
+                                    break;
+
                                 try
                                 {
                                     changingCollectionCursor.seek(bookmarkInChangingCollection);