Applied with a few minor changes.
Thank you for the patch!
On 28.04.2011 06:56, Banlu Kemiyatorn wrote:
- (void) setSubviews: (NSArray *)newSubviews
{
NSEnumerator *en;
NSView *aView;
en = [[NSArray arrayWithArray:_subviews] objectEnumerator];
while ((aView = [en nextObject]))
{
if (NO == [newSubviews containsObject:aView])
{
[aView removeFromSuperview];
}
}
NSMutableArray *uniqNew = [NSMutableArray array];
en = [newSubviews objectEnumerator];
while ((aView = [en nextObject]))
{
id supersub = [aView superview];
if (supersub != nil&& supersub != self)
{
[NSException raise:NSInvalidArgumentException
format:@"Superviews of new subviews must be
either nil or receiver."];
}
if ([uniqNew containsObject:aView])
{
[NSException raise:NSInvalidArgumentException
format:@"Duplicated new subviews."];
}
if (NO == [_subviews containsObject:aView])
{
[self addSubview:aView];
}
[uniqNew addObject:aView];
}
ASSIGN(_subviews, uniqNew);
}
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev