--- ./CVS/core/gui/Source/NSMenuView.m	Wed Mar 12 14:35:04 2003
+++ ./CVS.build/gui/Source/NSMenuView.m	Fri Mar 14 14:36:24 2003
@@ -53,10 +53,16 @@
 /* A menu's title is an instance of this class */
 @class NSButton;
 
+@interface CloseButton : NSButton
+{
+}
+
+@end
+
 @interface NSMenuWindowTitleView : NSView
 {
   NSMenu *menu;
-  NSButton *button;
+  CloseButton *button;
 }
 
 - (void) addCloseButton;
@@ -500,6 +507,7 @@
   unsigned i;
   unsigned howMany = [_itemCells count];
   float    neededImageAndTitleWidth = [_font widthOfString: [_menu title]];
+  float    initialImageAndTitleWidth = neededImageAndTitleWidth;
   float    neededKeyEquivalentWidth = 0.0;
   float    neededStateImageWidth = 0.0;
   float    accumulatedOffset = 0.0;
@@ -570,6 +578,11 @@
 	neededKeyEquivalentWidth = aKeyEquivalentWidth;
     }
 
+  if (neededImageAndTitleWidth == initialImageAndTitleWidth)
+  {
+    neededImageAndTitleWidth += 10;
+  }
+
   // Cache the needed widths.
   _stateImageWidth = neededStateImageWidth;
   _imageAndTitleWidth = neededImageAndTitleWidth;
@@ -1521,15 +1533,11 @@
 		    (_frame.size.height - imageSize.height) / 2},
 		  { imageSize.height, imageSize.width } };
 
-  button = [[NSButton alloc] initWithFrame: rect];
-  [button setButtonType: NSMomentaryLight];
-  [button setImagePosition: NSImageOnly];
+  button = [[CloseButton alloc] initWithFrame: rect];
   [button setImage: closeImage];
   [button setAlternateImage: closeHImage];
-  [button setBordered: NO];
   [button setTarget: menu];
   [button setAction: @selector(_performMenuClose:)];
-  [button setAutoresizingMask: NSViewMinXMargin];
   
   [self setAutoresizingMask:
     NSViewMinXMargin | NSViewMinYMargin | NSViewMaxYMargin];
@@ -1560,3 +1568,23 @@
 }
 
 @end /* NSMenuWindowTitleView */
+
+@implementation CloseButton
+
+- (id) initWithFrame: (NSRect) rect
+{
+  self = [super initWithFrame: rect];
+  [self setButtonType: NSMomentaryChangeButton];
+  [self setImagePosition: NSImageOnly];
+  [self setBordered: NO];
+  [self setAutoresizingMask: NSViewMinXMargin];
+
+  return self;
+}
+
+- (BOOL) acceptsFirstResponder
+{
+  return NO;
+}
+
+@end
