Mercurial > dwindows
comparison mac/dw.m @ 1048:70bad8a91370
Fix for dw_tree_item_delete() not working if there are no child nodes on Mac.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 01 Jun 2011 09:56:32 +0000 |
parents | 625fa470dcf0 |
children | 48f43c975533 |
comparison
equal
deleted
inserted
replaced
1047:5dbb931bac5a | 1048:70bad8a91370 |
---|---|
1582 for(z=0;z<count;z++) | 1582 for(z=0;z<count;z++) |
1583 { | 1583 { |
1584 NSPointerArray *pnt = [node objectAtIndex:z]; | 1584 NSPointerArray *pnt = [node objectAtIndex:z]; |
1585 NSMutableArray *children = (NSMutableArray *)[pnt pointerAtIndex:3]; | 1585 NSMutableArray *children = (NSMutableArray *)[pnt pointerAtIndex:3]; |
1586 | 1586 |
1587 if(children) | 1587 if(item == pnt) |
1588 { | 1588 { |
1589 if(item == pnt) | 1589 _free_tree_recurse(children, NULL); |
1590 { | 1590 [node removeObjectAtIndex:z]; |
1591 _free_tree_recurse(children, NULL); | 1591 count = (int)[node count]; |
1592 [node removeObjectAtIndex:z]; | 1592 z--; |
1593 count = (int)[node count]; | |
1594 z--; | |
1595 } | |
1596 else if(item == NULL) | |
1597 { | |
1598 NSString *oldstr = [pnt pointerAtIndex:1]; | |
1599 [oldstr release]; | |
1600 _free_tree_recurse(children, item); | |
1601 } | |
1602 else | |
1603 _free_tree_recurse(children, item); | |
1604 } | 1593 } |
1594 else if(item == NULL) | |
1595 { | |
1596 NSString *oldstr = [pnt pointerAtIndex:1]; | |
1597 [oldstr release]; | |
1598 _free_tree_recurse(children, item); | |
1599 } | |
1600 else | |
1601 _free_tree_recurse(children, item); | |
1605 } | 1602 } |
1606 } | 1603 } |
1607 if(!item) | 1604 if(!item) |
1608 { | 1605 { |
1609 [node release]; | 1606 [node release]; |