bug#2747: [PATCH] 23.0.91; multi-line tooltips don't work on nextstep

Nikolaj Schumacher <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
In GNU Emacs 23.0.91.1 (i386-apple-darwin9.6.0, NS apple-appkit-949.43)
 of 2009-03-22 on thursday
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--with-ns' '--with-x''


Only the first line multi-line tooltips like

  (tooltip-show "foo\nbar")

appear on nextstep.


The following patch seems to be a simple (perhaps too simple?) solution:


diff --git a/src/nsmenu.m b/src/nsmenu.m
index 9a97492..97d29e9 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1398,10 +1398,7 @@ update_frame_tool_bar (FRAME_PTR f)
   NSColor *col = [NSColor colorWithCalibratedRed: 1.0 green: 1.0
                                             blue: 0.792 alpha: 0.95];
   NSFont *font = [NSFont toolTipsFontOfSize: 0];
-  NSFont *sfont = [font screenFont];
-  int height = [sfont ascender] - [sfont descender];
-/*[font boundingRectForFont].size.height; */
-  NSRect r = NSMakeRect (0, 0, 100, height+6);
+  NSRect r = NSMakeRect (0, 0, 100, 100);
 
   textField = [[NSTextField alloc] initWithFrame: r];
   [textField setFont: font];
@@ -1438,10 +1435,8 @@ update_frame_tool_bar (FRAME_PTR f)
 - (void) setText: (char *)text
 {
   NSString *str = [NSString stringWithUTF8String: text];
-  NSRect r = [textField frame];
-  r.size.width = [[[textField font] screenFont] widthOfString: str] + 8;
-  [textField setFrame: r];
   [textField setStringValue: str];
+  [textField sizeToFit];
 }
 
 - (void) showAtX: (int)x Y: (int)y for: (int)seconds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.