Rewrote SwapItems() so as to not fail in various cases.

Fixed logic error in CountItemsUnder() that would sometimes 
return the wrong count. This would result in issues such as
Vision's network reordering failing to reorder down due to
retrieving the wrong item based on the count.

This fixes ticket #2447.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26149 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent
2008-06-28 03:03:56 +00:00
parent a591a6b828
commit 84d75fa444
2 changed files with 43 additions and 37 deletions
+1 -3
View File
@@ -118,9 +118,7 @@ class BOutlineListView : public BListView {
BListItem* _RemoveItem(BListItem* item, int32 fullListIndex);
bool _SwapItems(int32 first, int32 second);
void _DoSwap(BList &list, int32 firstIndex, int32 secondIndex,
int32 firstCount, int32 secondCount, int32 swapCount);
int32 _GetSubitemCount(BList &list, int32 itemIndex);
void _CullInvisibleItems(BList &list);
BListItem* RemoveOne(int32 fullListIndex);
static void TrackInLatchItem(void *);