Index: Source/NSTabView.m =================================================================== RCS file: /cvsroot/gnustep/gnustep/core/gui/Source/NSTabView.m,v retrieving revision 1.45 diff -u -a -r1.45 NSTabView.m --- Source/NSTabView.m 7 Jun 2004 23:54:14 -0000 1.45 +++ Source/NSTabView.m 20 Oct 2004 04:37:25 -0000 @@ -77,6 +77,9 @@ { [_delegate tabViewDidChangeNumberOfTabViewItems: self]; } + + /* FIXME - just mark the tabs rect as needing redisplay? */ + [self setNeedsDisplay: YES]; } - (void) removeTabViewItem: (NSTabViewItem*)tabViewItem @@ -88,6 +91,7 @@ if ([tabViewItem isEqual: _selected]) { + [[_selected view] removeFromSuperview]; _selected = nil; } @@ -98,6 +102,10 @@ { [_delegate tabViewDidChangeNumberOfTabViewItems: self]; } + + /* FIXME - just mark the tabs rect as needing redisplay unless removed + tab was selected */ + [self setNeedsDisplay: YES]; } - (int) indexOfTabViewItem: (NSTabViewItem*)tabViewItem @@ -209,7 +217,7 @@ [_window makeFirstResponder: [_selected initialFirstResponder]]; } - /* FIXME - only mark the contentRect as needing redisplay! */ + /* Will need to redraw tabs and content area. */ [self setNeedsDisplay: YES]; if ([_delegate respondsToSelector: @@ -383,7 +391,7 @@ break; } - if (!_selected) + if (!_selected && howMany > 0) [self selectFirstTabViewItem: nil]; if (_type == NSNoTabsBezelBorder || _type == NSNoTabsLineBorder)